如何JSON在Go中的结构中的列表中解组结构?

时间:2014-09-04 14:01:40

标签: json go

如何将此JSON数据反序列化为结构中数组/切片内的正确结构?我想避免反序列化为map

d := []byte(`{
    "a": 1,
    "b": [
        {"c": 3, "d": 4},
        {"c": 5, "d": 6}
    ]
    }`)

1 个答案:

答案 0 :(得分:3)

此解决方案非常直观:

d := []byte(`{
    "a": 1,
    "b": [
        {"c": 3, "d": 4},
        {"c": 5, "d": 6}
    ]
    }`)

var j struct {
    A uint
    B []struct {
        C uint
        D uint
    }
}
if err := json.Unmarshal(d, &j); err != nil {
    log.Fatal(err)
}
fmt.Printf("%+v\n", j)

结果打印到stdout{A:1 B:[{C:3 D:4} {C:5 D:6}]}