2014-09-04 99 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

相关问题