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
golang 定时任务方面time.Sleep和time.Tick的优劣对比分析
May 05 Golang
go设置多个GOPATH的方式
May 05 Golang
Goland使用Go Modules创建/管理项目的操作
May 06 Golang
go 实现简易端口扫描的示例
May 22 Golang
手把手教你导入Go语言第三方库
Aug 04 Golang
Golang中channel的原理解读(推荐)
Oct 16 Golang
golang中的struct操作
Nov 11 Golang
Go语言基础函数基本用法及示例详解
Nov 17 Golang
Golang使用Panic与Recover进行错误捕获
Mar 22 Golang
Go语言安装并操作redis的go-redis库
Apr 14 Golang
golang连接MySQl使用sqlx库
Apr 14 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 远程文件管理,可以给表格排序,遍历目录,时间排序
2009/08/07 PHP
php判断ip黑名单程序代码实例
2014/02/24 PHP
THINKPHP2.0到3.0有哪些改进之处
2015/01/04 PHP
php从数据库查询结果生成树形列表的方法
2015/04/17 PHP
关于javascript 回调函数中变量作用域的讨论
2009/09/11 Javascript
将json对象转换为字符串的方法
2014/02/20 Javascript
Jquery动态添加输入框的方法
2015/05/29 Javascript
JS实现上下左右对称的九九乘法表
2016/02/22 Javascript
简单实现jQuery级联菜单
2017/01/09 Javascript
浅谈struts1 & jquery form 文件异步上传
2017/05/25 jQuery
js实现本地时间同步功能
2017/08/26 Javascript
vue组件中的数据传递方法
2018/05/14 Javascript
JavaScript 中的 this 工作原理
2018/06/20 Javascript
浅入深出Vue之自动化路由
2019/08/06 Javascript
js实现无限瀑布流实例方法
2019/09/16 Javascript
vue 组件开发原理与实现方法详解
2019/11/29 Javascript
vue中使用router全局守卫实现页面拦截的示例
2020/10/23 Javascript
python自动化测试之从命令行运行测试用例with verbosity
2014/09/28 Python
python使用urlparse分析网址中域名的方法
2015/04/15 Python
浅谈Python NLP入门教程
2017/12/25 Python
Python3导入自定义模块的三种方法详解
2018/04/13 Python
python在html中插入简单的代码并加上时间戳的方法
2018/10/16 Python
python 函数的缺省参数使用注意事项分析
2019/09/17 Python
Python使用py2neo操作图数据库neo4j的方法详解
2020/01/13 Python
解决Tensorflow sess.run导致的内存溢出问题
2020/02/05 Python
canvas与html5实现视频截图功能示例
2016/12/15 HTML / CSS
工程开工庆典邀请函
2014/02/01 职场文书
《邮票齿孔的故事》教学反思
2014/02/22 职场文书
安全生产网格化管理实施方案
2014/03/01 职场文书
欢迎横幅标语
2014/06/17 职场文书
乡镇党的群众路线教育实践活动制度建设计划
2014/11/03 职场文书
幼儿教师师德师风自我评价
2015/03/05 职场文书
房地产财务经理岗位职责
2015/04/08 职场文书
公务员保密工作承诺书
2015/05/04 职场文书
2015年医务科工作总结范文
2015/05/26 职场文书
Pandas自定义选项option设置
2021/07/25 Python