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 25 Golang
golang 实现菜单树的生成方式
Apr 28 Golang
golang goroutine顺序输出方式
Apr 29 Golang
Golang中interface{}转为数组的操作
Apr 30 Golang
golang 实现Location跳转方式
May 02 Golang
Go 自定义package包设置与导入操作
May 06 Golang
golang 实现时间戳和时间的转化
May 07 Golang
Golang全局变量加锁的问题解决
May 08 Golang
浅谈Golang 切片(slice)扩容机制的原理
Jun 09 Golang
试了下Golang实现try catch的方法
Jul 01 Golang
golang 语言中错误处理机制
Aug 30 Golang
Golang流模式之grpc的四种数据流
Apr 13 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
用Zend Encode编写开发PHP程序
2006/10/09 PHP
杏林同学录(三)
2006/10/09 PHP
PHP实现图片压缩的两则实例
2014/07/19 PHP
PHP实现通过get方式识别用户发送邮件的方法
2015/07/16 PHP
常用的javascript function代码
2008/05/23 Javascript
struts2 jquery 打造无限层次的树
2009/10/23 Javascript
JS Loading功能的简单实现
2013/11/29 Javascript
JavaScript极简入门教程(一):基础篇
2014/10/25 Javascript
全面解析多种Bootstrap图片轮播效果
2016/05/27 Javascript
JS实现n秒后自动跳转的两种方法
2020/11/30 Javascript
bootstrap table动态加载数据示例代码
2017/03/25 Javascript
将input框中输入内容显示在相应的div中【三种方法可选】
2017/05/08 Javascript
vue轮播图插件vue-concise-slider的使用
2018/03/13 Javascript
Node.js + express实现上传大文件的方法分析【图片、文本文件】
2019/03/14 Javascript
Nodejs实现图片上传、压缩预览、定时删除功能
2019/10/25 NodeJs
js实现百度淘宝搜索功能
2020/02/17 Javascript
微信小程序分享小程序码的生成(带参数)以及参数的获取
2020/03/25 Javascript
[02:37]2015国际邀请赛选手档案—LGD.Xiao8
2015/07/28 DOTA
[01:02:53]DOTA2上海特级锦标赛主赛事日 - 5 总决赛Liquid VS Secret第二局
2016/03/06 DOTA
Python检测网站链接是否已存在
2016/04/07 Python
Python实现SMTP发送邮件详细教程
2021/03/02 Python
python查看微信好友是否删除自己
2016/12/19 Python
Python基于numpy灵活定义神经网络结构的方法
2017/08/19 Python
python钉钉机器人运维脚本监控实例
2019/02/20 Python
PyTorch搭建多项式回归模型(三)
2019/05/22 Python
python画蝴蝶曲线图的实例
2019/11/21 Python
Python关于反射的实例代码分享
2020/02/20 Python
PyPDF2读取PDF文件内容保存到本地TXT实例
2020/05/12 Python
python filecmp.dircmp实现递归比对两个目录的方法
2020/05/22 Python
简单叙述一下MYSQL的优化
2016/05/09 面试题
机修工工作职责
2014/02/21 职场文书
优秀员工获奖感言
2014/03/01 职场文书
买卖车协议书
2014/04/21 职场文书
人事专员岗位说明书
2014/07/29 职场文书
外出听课学习心得体会
2016/01/15 职场文书
Nginx+Tomcat负载均衡多实例详解
2022/04/11 Servers