golang json数组拼接的实例


Posted in Golang onApril 28, 2021

看代码吧~

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

以上为个人经验,希望能给大家一个参考,也希望大家多多支持三水点靠木。如有错误或未考虑完全的地方,望不吝赐教。

Golang 相关文章推荐
go语言-在mac下brew升级golang
Apr 25 Golang
golang中实现给gif、png、jpeg图片添加文字水印
Apr 26 Golang
golang中切片copy复制和等号复制的区别介绍
Apr 27 Golang
golang 实现菜单树的生成方式
Apr 28 Golang
基于Go Int转string几种方式性能测试
Apr 28 Golang
Go语言 go程释放操作(退出/销毁)
Apr 30 Golang
浅谈golang package中init方法的多处定义及运行顺序问题
May 06 Golang
浅谈Golang 切片(slice)扩容机制的原理
Jun 09 Golang
Go 通过结构struct实现接口interface的问题
Oct 05 Golang
Go 中的空白标识符下划线
Mar 25 Golang
GO语言异常处理分析 err接口及defer延迟
Apr 14 Golang
Golang 链表的学习和使用
Apr 19 Golang
golang 实现对Map进行键值自定义排序
Apr 28 #Golang
go语言中json数据的读取和写出操作
Apr 28 #Golang
golang 实现菜单树的生成方式
Apr 28 #Golang
golang通过递归遍历生成树状结构的操作
Apr 28 #Golang
goland 恢复已更改文件的操作
goland 清除所有的默认设置操作
go 原生http web 服务跨域restful api的写法介绍
Apr 27 #Golang
You might like
PHP实现求连续子数组最大和问题2种解决方法
2017/12/26 PHP
Ajax+PHP实现的分类列表框功能示例
2019/02/11 PHP
getElementByIdx_x js自定义getElementById函数
2012/01/24 Javascript
基于jquery插件制作左右按钮与标题文字图片切换效果
2013/11/07 Javascript
原生Ajax 和jQuery Ajax的区别示例分析
2014/12/17 Javascript
深入分析下javascript中的[]()+!
2015/07/07 Javascript
根据user-agent判断蜘蛛代码黑帽跳转代码(js版与php版本)
2015/09/14 Javascript
JS代码实现table数据分页效果
2016/05/26 Javascript
微信JS-SDK坐标位置如何转换为百度地图坐标
2016/07/04 Javascript
Angularjs实现分页和分页算法的示例代码
2016/12/23 Javascript
vue中如何使用ztree
2018/02/06 Javascript
微信小程序自定义弹窗实现详解(可通用)
2019/07/04 Javascript
nodejs制作小爬虫功能示例
2020/02/24 NodeJs
写给新手同学的vuex快速上手指北小结
2020/04/14 Javascript
JavaScript 引用类型实例详解【数组、对象、严格模式等】
2020/05/13 Javascript
javascript递归函数定义和用法示例分析
2020/07/22 Javascript
linux系统使用python监测系统负载脚本分享
2014/01/15 Python
用Python编程实现语音控制电脑
2014/04/01 Python
python中的__init__ 、__new__、__call__小结
2014/04/25 Python
python并发编程之多进程、多线程、异步和协程详解
2016/10/28 Python
matplotlib绘制符合论文要求的图片实例(必看篇)
2017/06/02 Python
python时间序列按频率生成日期的方法
2019/05/14 Python
如何通过python实现人脸识别验证
2020/01/17 Python
浅谈Python3多线程之间的执行顺序问题
2020/05/02 Python
python 异步async库的使用说明
2020/05/04 Python
详解Python中如何将数据存储为json格式的文件
2020/11/18 Python
销售人员中英文自荐信
2013/09/22 职场文书
大一新生军训时的自我评价分享
2013/12/05 职场文书
幼儿园课题实施方案
2014/05/14 职场文书
2014年个人售房协议书
2014/10/30 职场文书
机关单位保密工作责任书
2015/05/11 职场文书
2015年学校保卫部工作总结
2015/05/11 职场文书
Django rest framework如何自定义用户表
2021/06/09 Python
JavaScript中时间格式化新思路toLocaleString()
2021/11/07 Javascript
Jpa Specification如何实现and和or同时使用查询
2021/11/23 Java/Android
MySQL如何修改字段类型和字段长度
2022/06/10 MySQL