欧美一区二区三区,国内熟女精品熟女A片视频小说,日本av网,小鲜肉男男GAY做受XXX网站

go json.rawmessage

林玟書1年前7瀏覽0評論

在Go語言中,json.RawMessage代表了一段未經解析的JSON數據。它可以用于在未知JSON格式或動態JSON格式中解碼嵌套的數據。

// 示例JSON數據
var jsonStr = `{
"name": "Tom",
"age": 20,
"address": {
"city": "Beijing",
"province": "Beijing"
}
}`
// 定義結構體
type Person struct {
Name    string          `json:"name"`
Age     int             `json:"age"`
Address json.RawMessage `json:"address"`
}
// 解析JSON數據
var p Person
err := json.Unmarshal([]byte(jsonStr), &p)
if err != nil {
log.Fatal(err)
}
// 解析嵌套的JSON數據
var address map[string]string
err = json.Unmarshal(p.Address, &address)
if err != nil {
log.Fatal(err)
}
// 輸出結果
fmt.Println("Name:", p.Name)
fmt.Println("Age:", p.Age)
fmt.Println("City:", address["city"])
fmt.Println("Province:", address["province"])

在上面的示例中,我們定義了一個Person結構體,其中包含了一個json.RawMessage類型的Address字段,它代表了未經解析的JSON數據。在解析JSON數據時,我們可以將Address字段解析為map[string]string,從而得到嵌套的JSON數據。通過json.RawMessage,我們可以很方便地處理未知JSON格式或動態JSON格式的數據。