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 相关文章推荐
golang 如何通过反射创建新对象
Apr 28 Golang
彻底理解golang中什么是nil
Apr 29 Golang
解决golang 关于全局变量的坑
May 06 Golang
Golang Gob编码(gob包的使用详解)
May 07 Golang
聊聊golang中多个defer的执行顺序
May 08 Golang
K8s部署发布Golang应用程序的实现方法
Jul 16 Golang
Go中的条件语句Switch示例详解
Aug 23 Golang
Go语言并发编程 sync.Once
Oct 16 Golang
一文搞懂Golang 时间和日期相关函数
Dec 06 Golang
golang实现浏览器导出excel文件功能
Mar 25 Golang
golang语言指针操作
Apr 14 Golang
Go gorilla/sessions库安装使用
Aug 14 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+mysql写的留言本
2006/10/09 PHP
使用array mutisort 实现按某字段对数据排序
2013/06/18 PHP
php使用flock阻塞写入文件和非阻塞写入文件的实例讲解
2017/07/10 PHP
jquery插件 cluetip 关键词注释
2010/01/12 Javascript
GreyBox技术总结(转)
2010/11/23 Javascript
Dreamweaver jQuery智能提示插件,支持版本提示,支持1.6api
2011/07/31 Javascript
jQuery LigerUI 使用教程表格篇(1)
2012/01/18 Javascript
基于jQuery的获取标签名的代码
2012/07/16 Javascript
使用Node.js给图片加水印的方法
2016/11/15 Javascript
用director.js实现前端路由使用实例
2017/01/27 Javascript
JavaScrpt中如何使用 cookie 设置查看与删除功能
2017/07/09 Javascript
详解http访问解析流程原理
2017/10/18 Javascript
利用pm2部署多个node.js项目的配置教程
2017/10/22 Javascript
AngularJS动态添加数据并删除的实例
2018/02/27 Javascript
vue-cli3跨域配置的简单方法
2019/09/06 Javascript
基于JavaScript实现留言板功能
2020/03/16 Javascript
Vue项目配置跨域访问和代理proxy设置方式
2020/09/08 Javascript
详解python eval函数的妙用
2017/11/16 Python
python3中函数参数的四种简单用法
2018/07/09 Python
ubuntu 16.04下python版本切换的方法
2019/06/14 Python
Python求均值,方差,标准差的实例
2019/06/29 Python
Django模板Templates使用方法详解
2019/07/19 Python
python 实现提取log文件中的关键句子,并进行统计分析
2019/12/24 Python
Python实现剪刀石头布小游戏(与电脑对战)
2019/12/31 Python
pytorch载入预训练模型后,实现训练指定层
2020/01/06 Python
python 获取域名到期时间的方法步骤
2021/02/10 Python
美国知名珠宝首饰品牌:Gemvara
2017/10/06 全球购物
事业单位分类改革实施方案
2014/03/21 职场文书
经销商订货会主持词
2014/03/27 职场文书
转让协议书范本
2014/04/15 职场文书
项目投资意向书范本
2015/05/09 职场文书
领导新年致辞2016
2015/07/29 职场文书
资产移交协议书
2016/03/24 职场文书
小学五年级(说明文3篇)
2019/08/13 职场文书
浅谈JS的二进制家族
2021/05/09 Javascript
浅谈tf.train.Saver()与tf.train.import_meta_graph的要点
2021/05/26 Python