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 28 Golang
go设置多个GOPATH的方式
May 05 Golang
Golang全局变量加锁的问题解决
May 08 Golang
Golang 实现获取当前函数名称和文件行号等操作
May 08 Golang
Golang标准库syscall详解(什么是系统调用)
May 25 Golang
Go语言读取txt文档的操作方法
Jan 22 Golang
详解Golang如何优雅的终止一个服务
Mar 21 Golang
golang实现浏览器导出excel文件功能
Mar 25 Golang
Go语言grpc和protobuf
Apr 13 Golang
实现GO语言对数组切片去重
Apr 20 Golang
Golang解析JSON对象
Apr 30 Golang
Go gRPC进阶教程gRPC转换HTTP
Jun 16 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与SQL注入攻击[三]
2007/04/17 PHP
[原创]效率较高的php下读取文本文件的代码
2008/07/02 PHP
一漂亮的PHP图片验证码实例
2014/03/21 PHP
php加速器eAccelerator的配置参数、API详解
2014/05/05 PHP
php过滤HTML标签、属性等正则表达式汇总
2014/09/22 PHP
PHP实现基于图的深度优先遍历输出1,2,3...n的全排列功能
2017/11/10 PHP
PHP应用跨时区功能的实现方法
2019/03/21 PHP
jQuery处理json数据返回数组和输出的方法
2015/03/11 Javascript
修改ligerui 默认确认按钮的方法
2016/12/27 Javascript
AngularJS中update两次出现$promise属性无法识别的解决方法
2017/01/05 Javascript
vue日期组件 支持vue1.0和2.0
2017/01/09 Javascript
javascript数据类型详解
2017/02/07 Javascript
JQuery EasyUI的一些常用组件
2017/07/12 jQuery
vue 路由嵌套高亮问题的解决方法
2018/05/17 Javascript
bootstrap里bootstrap动态加载下拉框的实例讲解
2018/08/10 Javascript
Vue.js递归组件实现组织架构树和选人功能案例分析
2019/07/03 Javascript
Node配合WebSocket做多文件下载以及进度回传
2019/11/07 Javascript
vue实现评价星星功能
2020/06/30 Javascript
详解uniapp的全局变量实现方式
2021/01/11 Javascript
[04:48]DOTA2上海特锦赛小组赛第三日 TOP10精彩集锦
2016/02/28 DOTA
python每次处理固定个数的字符的方法总结
2013/01/29 Python
python 应用之Pycharm 新建模板默认添加编码格式-作者-时间等信息【推荐】
2019/06/17 Python
Python Numpy计算各类距离的方法
2019/07/05 Python
pandas删除行删除列增加行增加列的实现
2019/07/06 Python
django-filter和普通查询的例子
2019/08/12 Python
django自带的权限管理Permission用法说明
2020/05/13 Python
Python 高效编程技巧分享
2020/09/10 Python
CSS3制作翻转效果_动力节点Java学院整理
2017/07/11 HTML / CSS
Lookfantastic美国/加拿大:英国知名美妆购物网站
2019/03/27 全球购物
数字化校园建设方案
2014/05/03 职场文书
授权委托书
2014/07/31 职场文书
信息技术教研组工作总结
2015/08/13 职场文书
《梅花魂》教学反思
2016/02/18 职场文书
SQL Server代理:理解SQL代理错误日志处理方法
2021/06/30 SQL Server
SQL Server 忘记密码以及重新添加新账号
2022/04/26 SQL Server
Win11无法安装更新补丁KB3045316怎么办 附KB3045316补丁修复教程
2022/08/14 数码科技