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
golang中实现给gif、png、jpeg图片添加文字水印
Apr 26 Golang
go 原生http web 服务跨域restful api的写法介绍
Apr 27 Golang
go语言中GOPATH GOROOT的作用和设置方式
May 05 Golang
Go 在 MongoDB 中常用查询与修改的操作
May 07 Golang
Go 语言结构实例分析
Jul 04 Golang
Go语言并发编程 sync.Once
Oct 16 Golang
Go语言基础函数基本用法及示例详解
Nov 17 Golang
一文搞懂Golang 时间和日期相关函数
Dec 06 Golang
Go语言读取txt文档的操作方法
Jan 22 Golang
golang连接MySQl使用sqlx库
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笔记之:php函数range() round()和list()的使用说明
2013/04/26 PHP
PHP动态输出JavaScript代码实例
2015/02/12 PHP
php获取本周开始日期和结束日期的方法
2015/03/09 PHP
PHP JSON格式的中文显示问题解决方法
2015/04/09 PHP
Yii2实现同时搜索多个字段的方法
2016/08/10 PHP
php利用header函数下载各种文件
2016/08/24 PHP
[原创]php实现 data url的图片生成与保存
2016/12/04 PHP
什么是PHP7中的孤儿进程与僵尸进程
2019/04/14 PHP
PHP高并发和大流量解决方案整理
2021/03/09 PHP
防止登录页面出现在frame中js代码
2014/07/22 Javascript
Javascript中的关键字和保留字整理
2014/10/16 Javascript
Jquery实现的简单轮播效果【附实例】
2016/04/19 Javascript
AngularJS入门教程之 XMLHttpRequest实例讲解
2016/07/27 Javascript
AngularJs用户登录问题处理(交互及验证、阻止FQ处理)
2017/10/26 Javascript
JS实现验证码倒计时的注册页面
2018/01/02 Javascript
详解redis在nodejs中的应用
2018/05/02 NodeJs
详解vuex之store拆分即多模块状态管理(modules)篇
2018/11/13 Javascript
nodejs npm错误Error:UNKNOWN:unknown error,mkdir 'D:\Develop\nodejs\node_global'at Error
2019/03/02 NodeJs
Vue运用transition实现过渡动画
2019/05/06 Javascript
vue实现路由切换改变title功能
2019/05/28 Javascript
解决python2.7 查询mysql时出现中文乱码
2016/10/09 Python
PyChar学习教程之自定义文件与代码模板详解
2017/07/17 Python
Python实现二维数组输出为图片
2018/04/03 Python
PyCharm代码整体缩进,反向缩进的方法
2018/06/25 Python
python模拟登陆,用session维持回话的实例
2018/12/27 Python
如何基于python实现画不同品种的樱花树
2020/01/03 Python
适合各种场合的美食礼品:Harry & David
2016/08/03 全球购物
远程Wi-Fi宠物监控相机:Petcube
2017/04/26 全球购物
英国现代家具和照明购物网站:Heal’s
2019/10/30 全球购物
我的网上商城创业计划书
2013/12/26 职场文书
供货协议书
2014/04/22 职场文书
单位未婚证明范本
2014/11/25 职场文书
挂职个人工作总结
2015/03/05 职场文书
会议主持词通用版
2019/04/02 职场文书
JavaScript实例 ODO List分析
2022/01/22 Javascript
Python集合set()使用的方法详解
2022/03/18 Python