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 相关文章推荐
goland 清除所有的默认设置操作
Apr 28 Golang
解决golang在import自己的包报错的问题
Apr 29 Golang
解决golang post文件时Content-Type出现的问题
May 02 Golang
解决golang结构体tag编译错误的问题
May 02 Golang
Golang标准库syscall详解(什么是系统调用)
May 25 Golang
Golang 并发下的问题定位及解决方案
Mar 16 Golang
Go 中的空白标识符下划线
Mar 25 Golang
简单聊聊Golang中defer预计算参数
Mar 25 Golang
Go语言安装并操作redis的go-redis库
Apr 14 Golang
golang使用map实现去除重复数组
Apr 14 Golang
golang语言指针操作
Apr 14 Golang
Golang 实现WebSockets
Apr 24 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
中英文字符串翻转函数
2008/12/09 PHP
PHP 获取MySQL数据库里所有表的实现代码
2011/07/13 PHP
CodeIgniter采用config控制的多语言实现根据浏览器语言自动转换功能
2014/07/18 PHP
php中substr()函数参数说明及用法实例
2014/11/15 PHP
Zend Framework动作助手(Zend_Controller_Action_Helper)用法详解
2016/03/05 PHP
php实现生成验证码实例分享
2016/04/10 PHP
JavaScript接口实现代码 (Interfaces In JavaScript)
2010/06/11 Javascript
js 字符串转化成数字的代码
2011/06/29 Javascript
JavaScript 图像动画的小demo
2012/05/23 Javascript
JavaScript中的数组操作介绍
2014/12/30 Javascript
JavaScript中的立即执行函数表达式介绍
2015/03/15 Javascript
jQuery+css3实现转动的正方形效果(附demo源码下载)
2016/01/27 Javascript
JS基于HTML5的canvas标签实现炫目的色相球动画效果实例
2016/08/24 Javascript
ionic实现滑动的三种方式
2016/08/27 Javascript
BootStrap中的表单大全
2016/09/07 Javascript
简单实现js拖拽效果
2017/07/25 Javascript
Angular17之Angular自定义指令详解
2018/01/21 Javascript
浅谈vue加载优化策略
2019/03/19 Javascript
Python交换变量
2008/09/06 Python
PyQt5每天必学之进度条效果
2018/04/19 Python
Python3远程监控程序的实现方法
2019/07/15 Python
Python 共享变量加锁、释放详解
2019/08/28 Python
使用python爬取抖音app视频的实例代码
2020/12/01 Python
python tkinter实现下载进度条及抖音视频去水印原理
2021/02/07 Python
CSS3轻松实现圆角效果
2017/11/09 HTML / CSS
css3高级选择器使用方法
2013/12/02 HTML / CSS
CSS3制作炫酷的下拉菜单及弹起式选单的实例分享
2016/05/17 HTML / CSS
html5 canvas 实现光线沿不规则路径运动
2020/04/20 HTML / CSS
基督教婚礼主持词
2014/03/14 职场文书
2014党员四风对照检查材料思想汇报
2014/09/17 职场文书
仓管员岗位职责范本
2015/04/01 职场文书
幼师自荐信范文(2016推荐篇)
2016/01/28 职场文书
导游词之贵州百里杜鹃
2019/10/29 职场文书
go结构体嵌套的切片数组操作
2021/04/28 Golang
浅谈Redis主从复制以及主从复制原理
2021/05/29 Redis
win10系统xps文件怎么打开?win10打开xps文件的两种操作方法
2022/07/23 数码科技