golang json數(shù)組拼接的實(shí)例
看代碼吧~
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)) }
結(jié)果:
{“Parents”:[“aaaaa”,”bbbbbbb”,”Gomez”,”Moticia”]}
相應(yīng)的,如果數(shù)組里面是interface類(lèi)型同樣適用。
補(bǔ)充:go實(shí)現(xiàn)json數(shù)組嵌套
引用包 “encoding/json"
定義以下結(jié)構(gòu)體
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"` }
創(chuàng)建實(shí)例如下
class6 := `{ "class":6, "person":[{ "name":"wangha", "sex":"male", "age":"18" }, { "name":"zhang", "sex":"female", "age":"16" }] }`
對(duì)class6進(jìn)行解析
var keys test if err := json.Unmarshal([]byte(class6), &keys);err != nil{ fmt.Println(err) }else { fmt.Printf("%+v\n", keys) fmt.Printf("%+v\n", keys.Person[1]) fmt.Printf("%s\n", keys.Person[0].Sex) }
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教。
相關(guān)文章
Go語(yǔ)言使用select{}阻塞main函數(shù)介紹
這篇文章主要介紹了Go語(yǔ)言使用select{}阻塞main函數(shù)介紹,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2021-04-04golang 實(shí)現(xiàn)struct、json、map互相轉(zhuǎn)化
這篇文章主要介紹了golang 實(shí)現(xiàn)struct、json、map互相轉(zhuǎn)化,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2020-12-12GO常見(jiàn)的錯(cuò)誤99%程序員會(huì)遇到(解決方法)
這篇文章主要介紹了GO常見(jiàn)的錯(cuò)誤99%程序員會(huì)遇到,本文給出了解決方法,非常不錯(cuò),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-01-01Go?Web實(shí)戰(zhàn)之創(chuàng)建項(xiàng)目及增加日志功能
這篇文章主要為大家詳細(xì)介紹了Go?Web項(xiàng)目中如何實(shí)現(xiàn)創(chuàng)建項(xiàng)目及增加日志功能,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以了解一下2022-11-11Go數(shù)據(jù)結(jié)構(gòu)之HeapMap實(shí)現(xiàn)指定Key刪除堆
這篇文章主要給大家介紹了Go語(yǔ)言數(shù)據(jù)結(jié)構(gòu)之HeapMap實(shí)現(xiàn)指定Key刪除堆,通過(guò)使用Go語(yǔ)言中的container/heap包,我們可以輕松地實(shí)現(xiàn)一個(gè)優(yōu)先級(jí)隊(duì)列,文中有詳細(xì)的代碼示例講解,需要的朋友可以參考下2023-07-07Go語(yǔ)言中Struct與繼承與匿名字段和內(nèi)嵌結(jié)構(gòu)體全面詳解
這篇文章主要介紹了Go語(yǔ)言中Struct與繼承與匿名字段和內(nèi)嵌結(jié)構(gòu)體,Go語(yǔ)言中通過(guò)結(jié)構(gòu)體的內(nèi)嵌再配合接口比面向?qū)ο缶哂懈叩臄U(kuò)展性和靈活性,感興趣的可以了解一下2023-04-04