共計(jì) 695 個(gè)字符,預(yù)計(jì)需要花費(fèi) 2 分鐘才能閱讀完成。
在 Go 語言中,可以使用 encoding/json
包來進(jìn)行 JSON 的編解碼操作。下面是一個(gè)簡(jiǎn)單的示例:
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)
}
運(yùn)行以上代碼,可以看到輸出結(jié)果:
{"name":"Alice","age":30}
{Name:Alice Age:30}
這樣就實(shí)現(xiàn)了 JSON 的編解碼操作。在上面的示例中,json.Marshal
函數(shù)用于將結(jié)構(gòu)體編碼為 JSON 字符串,json.Unmarshal
函數(shù)用于將 JSON 字符串解碼為結(jié)構(gòu)體。需要注意的是,結(jié)構(gòu)體中的字段必須是導(dǎo)出的(即首字母大寫),否則在編解碼時(shí)可能會(huì)出現(xiàn)問題。
丸趣 TV 網(wǎng) – 提供最優(yōu)質(zhì)的資源集合!
正文完