在 Go 語言中,可以使用 encoding/json
包來進行 JSON 的編解碼操作。下面是一個簡單的示例:
package main
import (
"encoding/json"
"fmt"
)
type Person struct {
Name string `json:"name"`
Age int `json:"age"`
}
func main() {
// 編碼
person := Person{"Alice", 30}
data, err := json.Marshal(person)
if err != nil {
fmt.Println("JSON encoding error:", err)
return
}
fmt.Println(string(data))
// 解碼
jsonStr := `{"name":"Bob","age":25}`
var newPerson Person
err = json.Unmarshal([]byte(jsonStr), &newPerson)
if err != nil {
fmt.Println("JSON decoding error:", err)
return
}
fmt.Printf("%+v\n", newPerson)
}
運行以上代碼,可以看到輸出結果:
{"name":"Alice","age":30}
{Name:Alice Age:30}
這樣就實現了 JSON 的編解碼操作。在上面的示例中,json.Marshal
函數用于將結構體編碼為 JSON 字符串,json.Unmarshal
函數用于將 JSON 字符串解碼為結構體。需要注意的是,結構體中的字段必須是導出的(即首字母大寫),否則在編解碼時可能會出現問題。