在 Go Language 中解析多 leve json 文件



我需要解析并从 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: %sn", val)
        return
    }
    for _, it := range val {
        fmt.Printf("%#vn", it)
    }
}

我希望这有所帮助。

最新更新