golang json数组拼接的实例
func main() { a := []byte(`{'Parents': [ 'aaaaa', 'bbbbbbb' ]}`) b := []byte(`{'Parents': [ 'Gomez', 'Moticia' ]}`) var arr []interface{} js, _ := simplejson.NewJson(a) nodes, _ := js.Map() p := nodes['Parents'] d := p.([]interface{}) for _, v := range d {arr = append(arr, v) } js, _ = simplejson.NewJson(b) nodes, _ = js.Map() p = nodes['Parents'] d = p.([]interface{}) for _, v := range d {arr = append(arr, v) } res := make(map[string]interface{}) res['Parents'] = arr c, _ := json.Marshal(res) fmt.Println(string(c))}
结果:
{“Parents”:[“aaaaa”,”bbbbbbb”,”Gomez”,”Moticia”]}
相应的,如果数组里面是interface类型同样适用。
补充:go实现json数组嵌套
引用包 “encoding/json'
定义以下结构体type person struct { Name string `json:'name'` Sex string `json:'sex'` Age string `json:'age'`}
type test struct { Class int `json:'class'` Person []person `json:'person'`}创建实例如下
class6 := `{ 'class':6, 'person':[{ 'name':'wangha', 'sex':'male', 'age':'18' }, { 'name':'zhang', 'sex':'female', 'age':'16' }]}`对class6进行解析
var keys testif err := json.Unmarshal([]byte(class6), &keys);err != nil{ fmt.Println(err)}else { fmt.Printf('%+vn', keys) fmt.Printf('%+vn', keys.Person[1]) fmt.Printf('%sn', keys.Person[0].Sex)}
以上为个人经验,希望能给大家一个参考,也希望大家多多支持好吧啦网。如有错误或未考虑完全的地方,望不吝赐教。
相关文章: