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
go语言中切片与内存复制 memcpy 的实现操作
Apr 27 Golang
golang中的空slice案例
Apr 27 Golang
golang在GRPC中设置client的超时时间
Apr 27 Golang
golang DNS服务器的简单实现操作
Apr 30 Golang
解决Golang中goroutine执行速度的问题
May 02 Golang
goland 设置project gopath的操作
May 06 Golang
go web 预防跨站脚本的实现方式
Jun 11 Golang
Go语言设计模式之结构型模式
Jun 22 Golang
go语言使用Casbin实现角色的权限控制
Jun 26 Golang
试了下Golang实现try catch的方法
Jul 01 Golang
Golang并发操作中常见的读写锁详析
Aug 30 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模块部分功能的简单封装
2011/09/30 PHP
ThinkPHP中的系统常量和预定义常量集合
2014/07/01 PHP
php二维码生成以及下载实现
2017/09/28 PHP
详解PHP变量传值赋值和引用赋值变量销毁
2019/03/23 PHP
ASP.NET中使用后端代码注册脚本 生成JQUERY-EASYUI的界面错位的解决方法
2010/06/12 Javascript
Extjs TimeField 显示正常时间格式的代码
2011/06/28 Javascript
获取body标签的两种方法
2011/10/13 Javascript
在网站上应该用的30个jQuery插件整理
2011/11/03 Javascript
jquery连缀语法如何实现
2012/11/29 Javascript
node.js中的fs.createWriteStream方法使用说明
2014/12/17 Javascript
AngularJS向后端ASP.NET API控制器上传文件
2016/02/03 Javascript
js微信分享API
2020/10/11 Javascript
BootStrap Typeahead自动补全插件实例代码
2016/08/10 Javascript
jquery广告无缝轮播实例
2017/01/05 Javascript
浅谈Angular路由守卫
2017/08/26 Javascript
Vue.js实现列表清单的操作方法
2017/11/15 Javascript
js module大战
2019/04/19 Javascript
8个有意思的JavaScript面试题
2019/07/30 Javascript
微信小程序实现吸顶效果
2020/01/08 Javascript
Handtrack.js库实现实时监测手部运动(推荐)
2021/02/08 Javascript
[43:35]TI4 循环赛第二日Liquid vs Fnatic
2014/07/11 DOTA
[02:06]2018完美世界全国高校联赛秋季赛开始报名(附彩蛋)
2018/09/03 DOTA
[01:08:30]DOTA2-DPC中国联赛 正赛 Ehome vs Elephant BO3 第一场 2月28日
2021/03/11 DOTA
Python中getattr函数和hasattr函数作用详解
2016/06/14 Python
基于python脚本实现软件的注册功能(机器码+注册码机制)
2016/10/09 Python
python语音识别实践之百度语音API
2018/08/30 Python
python爬虫获取小区经纬度以及结构化地址
2018/12/30 Python
python 控制Asterisk AMI接口外呼电话的例子
2019/08/08 Python
Python爬虫 urllib2的使用方法详解
2019/09/23 Python
巴基斯坦电子产品购物网站:Home Shopping
2017/09/14 全球购物
财务部出纳岗位职责
2013/12/22 职场文书
教育课题研究自我鉴定范文
2013/12/28 职场文书
爱护公物标语
2014/06/24 职场文书
五好家庭事迹材料
2014/12/20 职场文书
亲戚关系证明
2015/06/24 职场文书
信息技术国培研修日志
2015/11/13 职场文书