在go語言中,我們可以使用內置的encoding/json包,將字符串轉換成JSON格式的數據。
首先,我們需要定義一個結構體,用于存放JSON數據的字段。例如:
type Person struct{ Name string `json:"name"` Age int `json:"age"` }
在上面的代碼中,我們定義了一個名為Person的結構體,它包含了兩個字段,Name和Age。我們在字段后面使用反引號來定義他們的JSON鍵值對。這里的“name”和“age”就是JSON中的鍵。
接著,我們可以使用json.Marshal()函數將結構體轉換成JSON格式的字符串。如下:
p := Person{Name: "Tom", Age: 30} jsonStr, err := json.Marshal(p) if err != nil { fmt.Println("Error:", err) } fmt.Println(string(jsonStr))
上面的代碼中,我們首先定義了一個Person結構體,并將其賦值給了變量p。接著調用json.Marshal()函數,將p轉換成JSON格式的字符串,存儲在jsonStr變量中。最后打印出來這個字符串。
如果我們要將JSON格式的字符串轉換成對應的結構體,可以使用json.Unmarshal()函數。如下:
jsonStr := `{"name":"Tom","age":30}` p := &Person{} err := json.Unmarshal([]byte(jsonStr), p) if err != nil { fmt.Println("Error:", err) } fmt.Println(p)
在上面的代碼中,我們將JSON格式的字符串存儲在jsonStr變量中。接著定義了一個指向Person結構體的指針p。然后調用json.Unmarshal()函數,將jsonStr轉換成對應的結構體,并將結果存儲在p中。最后打印出來p。
通過上面的例子,我們可以看到go語言中,將字符串轉換成JSON格式和將JSON格式轉換成對應的結構體是非常簡單的。