2014-09-04 93 views

回答

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}]}

+3

該作品只有預先知道每個元素的類型。如果沒有,您需要應用更復雜的技巧將反序列化代碼映射到正確的類。 – 2014-09-04 14:59:41

相關問題