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 interface{}==nil 的几种坑及原理分析
Apr 24 Golang
Go语言切片前或中间插入项与内置copy()函数详解
Apr 27 Golang
go语言中json数据的读取和写出操作
Apr 28 Golang
Golang Gob编码(gob包的使用详解)
May 07 Golang
Golang实现AES对称加密的过程详解
May 20 Golang
go 实现简易端口扫描的示例
May 22 Golang
Golang二维数组的使用方式
May 28 Golang
Go语言实现一个简单的并发聊天室的项目实战
Mar 18 Golang
golang定时器
Apr 14 Golang
Golang 实现 WebSockets 之创建 WebSockets
Apr 24 Golang
Golang 入门 之url 包
May 04 Golang
Python测试框架pytest核心库pluggy详解
Aug 05 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面向对象 字段的声明与使用
2012/06/14 PHP
ThinkPHP调用百度翻译类实现在线翻译
2014/06/26 PHP
php中实现进程锁与多进程的方法
2016/09/18 PHP
jQuery提交多个表单的小例子
2013/06/30 Javascript
基于jquery的禁用右键、文本选择功能、复制按键的实现代码
2013/08/27 Javascript
JQuery中extend使用介绍
2014/03/13 Javascript
IE下支持文本框和密码框placeholder效果的JQuery插件分享
2015/01/31 Javascript
Position属性之relative用法
2015/12/14 Javascript
创建一个类Person的简单实例
2016/05/17 Javascript
NODE.JS跨域问题的完美解决方案
2016/10/20 Javascript
bootstrap table使用入门基本用法
2017/05/24 Javascript
基于BootStrap multiselect.js实现的下拉框联动效果
2017/07/28 Javascript
JS实现百度网盘任意文件强制下载功能
2018/08/31 Javascript
代码实例ajax实现点击加载更多数据图片
2018/10/12 Javascript
Node.js的进程管理的深入理解
2019/01/09 Javascript
Angular4.0动画操作实例详解
2019/05/10 Javascript
微信小程序批量监听输入框对按钮样式进行控制的实现代码
2019/10/12 Javascript
在react中使用vue的状态管理的方法示例
2020/05/02 Javascript
详解webpack的clean-webpack-plugin插件报错
2020/10/16 Javascript
vue 图片裁剪上传组件的实现
2020/11/12 Javascript
教大家使用Python SqlAlchemy
2016/02/12 Python
Python切片知识解析
2016/03/06 Python
Python实现类似jQuery使用中的链式调用的示例
2016/06/16 Python
python获取txt文件词向量过程详解
2019/07/05 Python
Django model update的多种用法介绍
2020/03/28 Python
python3实现微型的web服务器
2019/09/03 Python
对tensorflow中cifar-10文档的Read操作详解
2020/02/10 Python
Python中对象的比较操作==和is区别详析
2021/02/12 Python
html5移动端价格输入键盘的实现
2019/09/16 HTML / CSS
意大利奢侈品零售商:ilDuomo Novara
2019/09/11 全球购物
俄罗斯珠宝市场的领导者之一:Бронницкий ювелир
2019/10/02 全球购物
毕业生求职信范文
2014/06/29 职场文书
2014年公务员退休工资改革方案
2014/10/01 职场文书
美术教师个人总结
2015/02/06 职场文书
Python的这些库,你知道多少?
2021/06/09 Python
SpringBoot使用AOP实现统计全局接口访问次数详解
2022/06/16 Java/Android