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语言求任意类型切片的长度操作
Apr 26 Golang
Go语言中的UTF-8实现
Apr 26 Golang
Golang 实现超大文件读取的两种方法
Apr 27 Golang
使用Golang的channel交叉打印两个数组的操作
Apr 29 Golang
goland设置颜色和字体的操作
May 05 Golang
golang gopm get -g -v 无法获取第三方库的解决方案
May 05 Golang
Go 在 MongoDB 中常用查询与修改的操作
May 07 Golang
深入理解go slice结构
Sep 15 Golang
Golang 实现 WebSockets 之创建 WebSockets
Apr 24 Golang
Go web入门Go pongo2模板引擎
May 20 Golang
详解Go语言中Get/Post请求测试
Jun 01 Golang
详解Go语言中配置文件使用与日志配置
Jun 01 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
深入mysql_fetch_row()与mysql_fetch_array()的区别详解
2013/06/05 PHP
用Zend Studio+PHPnow+Zend Debugger搭建PHP服务器调试环境步骤
2014/01/19 PHP
php获取目标函数执行时间示例
2014/03/04 PHP
php分页示例分享
2014/04/30 PHP
PHP根据图片色界在不同位置加水印的方法
2015/07/01 PHP
php判断str字符串是否是xml格式数据的方法示例
2017/07/26 PHP
PHP基于pdo的数据库操作类【可支持mysql、sqlserver及oracle】
2018/05/21 PHP
PhpStorm 如何优雅的调试Hyperf的方法步骤
2019/11/24 PHP
jquery 双色表格实现代码
2009/12/08 Javascript
div层的移动及性能优化
2010/11/16 Javascript
动态改变div的z-index属性的简单实例
2013/08/08 Javascript
javascript实现的DES加密示例
2013/10/30 Javascript
JS批量修改PS中图层名称的方法
2014/01/26 Javascript
jQuery的animate函数实现图文切换动画效果
2015/05/03 Javascript
Javascript实现图片懒加载插件的方法
2016/10/20 Javascript
微信小程序--获取用户地理位置名称(无须用户授权)的方法
2019/04/29 Javascript
解决vue-router 二级导航默认选中某一选项的问题
2019/11/01 Javascript
[23:21]Ti4 冒泡赛第二轮DK vs C9 2
2014/07/14 DOTA
[44:50]2018DOTA2亚洲邀请赛 4.1 小组赛 A组 TNC vs VG
2018/04/02 DOTA
python模拟新浪微博登陆功能(新浪微博爬虫)
2013/12/24 Python
Python中除法使用的注意事项
2014/08/21 Python
在Django的模型和公用函数中使用惰性翻译对象
2015/07/27 Python
Python的collections模块中namedtuple结构使用示例
2016/07/07 Python
Python实现获取照片拍摄日期并重命名的方法
2017/09/30 Python
python jieba分词并统计词频后输出结果到Excel和txt文档方法
2018/02/11 Python
python利用requests库进行接口测试的方法详解
2018/07/06 Python
python钉钉机器人运维脚本监控实例
2019/02/20 Python
python命令 -u参数用法解析
2019/10/24 Python
python3连接MySQL8.0的两种方式
2020/02/17 Python
CSS3控制HTML元素动画效果
2014/02/08 HTML / CSS
html5 button autofocus 属性介绍及应用
2013/01/04 HTML / CSS
澳大利亚潮流尖端的快时尚品牌:Cotton On
2016/09/26 全球购物
微软巴西官方网站:Microsoft Brasil
2019/09/26 全球购物
法国体育用品商店:GO Sport
2019/10/23 全球购物
四川省传达学习贯彻党的群众路线教育实践活动总结大会精神新闻稿
2014/10/26 职场文书
Go语言实现Base64、Base58编码与解码
2021/07/26 Golang