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 嵌套 interface 的赋值问题
Apr 29 Golang
golang 在windows中设置环境变量的操作
Apr 29 Golang
解决Golang time.Parse和time.Format的时区问题
Apr 29 Golang
解决goland 导入项目后import里的包报红问题
May 06 Golang
Golang生成Excel文档的方法步骤
Jun 09 Golang
Go遍历struct,map,slice的实现
Jun 13 Golang
详解Go语言Slice作为函数参数的使用
Jul 02 Golang
K8s部署发布Golang应用程序的实现方法
Jul 16 Golang
手把手教你导入Go语言第三方库
Aug 04 Golang
golang用type-switch判断interface的实际存储类型
Apr 14 Golang
Golang Elasticsearches 批量修改查询及发送MQ
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
根德Grundig S400/S500/S700电路分析
2021/03/02 无线电
PHP中CURL方法curl_setopt()函数的参数分享
2013/01/19 PHP
PHP使用memcache缓存技术提高响应速度的方法
2014/12/26 PHP
使用symfony命令创建项目的方法
2016/03/17 PHP
PHP-CGI远程代码执行漏洞分析与防范
2017/05/07 PHP
PHPExcel实现表格导出功能示例【带有多个工作sheet】
2018/06/13 PHP
Laravel框架模型的创建及模型对数据操作示例
2019/05/07 PHP
JavaScript实现网页上的浮动广告的简单方法
2013/06/14 Javascript
JavaScript判断数组是否包含指定元素的方法
2015/07/01 Javascript
基于jQuery Circlr插件实现产品图片360度旋转
2015/09/20 Javascript
MVC Ajax Helper或Jquery异步加载部分视图
2015/11/29 Javascript
gameboy网页闯关游戏(riddle webgame)--仿微信聊天的前端页面设计和难点
2016/02/21 Javascript
Vue.js报错Failed to resolve filter问题的解决方法
2016/05/25 Javascript
jQuery 插件实现随机自由弹跳气泡样式
2017/01/12 Javascript
JavaScript中Promise的使用详解
2017/02/26 Javascript
jQuery插件echarts设置折线图中折线线条颜色和折线点颜色的方法
2017/03/03 Javascript
微信小程序 动态绑定数据及动态事件处理
2017/03/14 Javascript
ReactNative页面跳转Navigator实现的示例代码
2017/08/02 Javascript
Vue利用Blob下载原生二进制数组文件
2019/09/25 Javascript
javascript设计模式 ? 备忘录模式原理与用法实例分析
2020/04/21 Javascript
Flexible.js可伸缩布局实现方法详解
2020/11/13 Javascript
Linux中安装Python的交互式解释器IPython的教程
2016/06/13 Python
在Python中定义和使用抽象类的方法
2016/06/30 Python
python tensorflow学习之识别单张图片的实现的示例
2018/02/09 Python
python3监控CentOS磁盘空间脚本
2018/06/21 Python
Pandas时间序列:重采样及频率转换方式
2019/12/26 Python
python对输出的奇数偶数排序实例代码
2020/12/04 Python
CSS3 实现侧边栏展开收起动画
2014/12/22 HTML / CSS
CSS3田字格列表的样式编写方法
2018/11/22 HTML / CSS
全球知名的婚恋交友网站:Match.com
2017/01/05 全球购物
Calphalon美国官网:美国顶级锅具品牌
2020/02/05 全球购物
护理个人求职信范文
2014/01/08 职场文书
翻译学院毕业生自荐书
2014/02/02 职场文书
秋季校运动会广播稿
2014/02/23 职场文书
2014年社区民政工作总结
2014/12/02 职场文书
MySQL自定义函数及触发器
2022/08/05 MySQL