用Go语言解析多层json文件
问题描述:
我需要从json文件中的字段解析和获取值。用Go语言解析多层json文件
[{"id": 27}, {"id": 0, "label": "Label 0"}, null, {"id": 93}, {"id": 85}, {"id": 54}, null, {"id": 46, "label": "Label 46"}]}}
虽然我可以在单层上工作,但我很茫然,我可以在这里遍历层次。 我曾尝试在谷歌,各种帮助网站甚至是计算器中寻找答案。 我找不到任何可以帮助我处理多级json字节数组的示例。 希望有人能引导我理解并努力工作。 在此先感谢
答
只是解析JSON成结构数组:
package main
import (
"encoding/json"
"fmt"
)
type Item struct {
Id int
Label string
}
func main() {
data := []byte(`[{"id": 27}, {"id": 0, "label": "Label 0"}, null, {"id": 93}, {"id": 85}, {"id": 54}, null, {"id": 46, "label": "Label 46"}]`)
var val []*Item
if err := json.Unmarshal(data, &val); err != nil {
fmt.Printf("Error: %s\n", val)
return
}
for _, it := range val {
fmt.Printf("%#v\n", it)
}
}
我希望这有助于。
请定义你所需要的更好。一般来说,最佳做法是将json映射到严格的数据类型,然后很容易。 –