0
如何將此JSON數據反序列化爲結構中的數組/片中的適當結構?我想避免反序列化到map
。如何在JSON解組中的一個結構列表中的結構?
d := []byte(`{
"a": 1,
"b": [
{"c": 3, "d": 4},
{"c": 5, "d": 6}
]
}`)
如何將此JSON數據反序列化爲結構中的數組/片中的適當結構?我想避免反序列化到map
。如何在JSON解組中的一個結構列表中的結構?
d := []byte(`{
"a": 1,
"b": [
{"c": 3, "d": 4},
{"c": 5, "d": 6}
]
}`)
該解決方案是相當直觀的:
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}]}
該作品只有預先知道每個元素的類型。如果沒有,您需要應用更復雜的技巧將反序列化代碼映射到正確的類。 – 2014-09-04 14:59:41
http://golang.org/pkg/encoding/json/#example_Unmarshal – JimB 2014-09-04 15:12:46