GoLang结构体解析多维复杂json 坑了2天,毕竟还是我太弱了
自己无论怎么写就是不成成功,最后解决方案,通过网络上一位老铁的源码复制过来一个一个改成我自己的结构造型才成功。
代码贴出备忘
package main
// xiaorui.ccimport "fmt"
import "encoding/json"type Detail struct {Time string `json:"time"`Ops string `json:"ops"`
}type Version struct {Last string `json:"last"`Max int `json:"max"`Detail []Detail `json:"detail"`
}type Desc struct {Date string `json:"date"`Content string `json:"content"`Brief string `json:"brief"`Keyword string `json:"keyword"`Version Version `json:"version"`
}type Response struct {Url string `json:"url"`Title string `json:"title"`Email string `json:"email"`Admin string `json:"admin"`Address []string `json:"address"`Article []Desc `json:"article"`
}func main() {body := `{"url": "http://xiaorui.cc","title": "golang and python","admin": "fengyun","email": "rfyiamcool@163.com","address": ["beijing","qingdao"],"article": [{"date": "2014","content": "golang json push to redis server","brief": "golang json","keyword": "json","version": {"max": 3,"last": "2016-03-11","detail": [{"time": "2016-03-12","ops": "add my email"}]}}]}`var r Responseerr := json.Unmarshal([]byte(body), &r)if err != nil {fmt.Printf("err was %v", err)}fmt.Println(r.Article[0].Version.Max)fmt.Println(r.Article[0].Version.Detail[0].Ops)}
下面是我自己想要解析的结构源码
package main
// xiaorui.ccimport "fmt"
import "encoding/json"type Version struct {Last string `json:"last"`Max int `json:"max"`
}type Desc struct {Version []Version `json:"data"`
}type Response struct {Article Desc `json:"list"`
}func main() {body := `{"list": {"data": [{"max": 3,"last": "2016-03-11","detail": [{"time": "2016-03-12","ops": "add my email" }]}]}}`var r Responseerr := json.Unmarshal([]byte(body), &r)if err != nil {fmt.Printf("err was %v", err)}fmt.Println(r.Article.Version[0].Max)}
GoLang结构体解析多维复杂json 坑了2天,毕竟还是我太弱了相关推荐
- golang 结构体struct、数组、结构体数组 定义与赋值 、json string转struct
文章目录 1.结构体struct 1.1 声明结构体 1.2 初始化结构体 以及 传参 2. 结构体数组.append 3. 接口返回 含数组的结构体 常用写法 json string转struct ...
- golang 结构体简介
Go 通过类型别名(alias types)和结构体的形式支持用户自定义类型,或者叫定制类型.试图表示一个现实世界中的实体. 结构体由一系列命名的元素组成,这些元素又被称为字段,每个字段都有一个名称和 ...
- go结构体初始化_浅谈golang结构体偷懒初始化
运行一段程序,警告: service/mysqlconfig.go:63::error: golang.guazi-corp.com/tools/ksql-runner/model.CreatingM ...
- golang 结构体 map 转化为 json
目录 结构体生成json json转成结构体 map生成json json转化为map 结构体生成json package mainimport ("encoding/json"& ...
- mysql表结构 转 golang 结构体struct
在线转 https://dev.ataotaoa.com 本地转换(推荐) github地址: https://github.com/gohouse/converter 下载地址: https://g ...
- golang结构体tag的使用
tag是结构体的元信息,可以在运行的时候通过反射机制读取出来 1.tag定义格式:(tag在结构体字段的后方定义,由一对反引号包裹起来,不同的键值对之间使用空格分隔)`key1:"value ...
- CJSON 创建含多层嵌套结构体及结构体解析
在CJSON的开发中,对于新手来说遇到的问题一般是或许如下几个: 第一.如何将C结构体转为一个Json数据格式的结构体? 第二.如果遇到Json数据格式中含有结构体数组怎么解析? 第三.如果遇到多层结 ...
- Golang结构体和map
Golang 文章目录 Golang 1 struct 2 map 3 struct补充 1 struct 在Golang中没有对象,但是有面向对象的思想,有继承,多态,封装的思想. 但是缺少了cla ...
- golang结构体与接口笔记
引言 本篇主要想总结一下关于结构体和接口的一些原理与说明. 结构体 在golang中,结构体属于一种自定义的类型.当用户声明一个新类型时,这个声明就给编译器提供了一个框架,告知必要的内存大小和表示信息 ...
最新文章
- 爬虫之xpath语法-常用节点选择语法
- 在linux 下怎么查看服务器的cpu和内存的硬件信息
- 大多数比特币 混币交易属合法交易
- 素数 乘法表 闰年
- oracle行列转换关联union的方式_几行代码轻松玩转 Excel 行列转换
- php缩放gif和png图透明背景变成黑色的解决方法_php技巧
- 使用ADO.net将数据导出到Excel并提供下载
- Security+ 学习笔记1 恶意软件
- coolfire文章之八
- inno setup 打包工具介绍
- html怎么画表格边框,WEB 制作1px边框表格的几种方法
- DeepFool论文翻译---DeepFool: a simple and accurate method to fool deep neural networks
- 高效率笔记——5R笔记法(康奈尔笔记法)
- JS 实现图层模式覆盖效果
- 十二星座分手时会怎么说?
- unity之使用FPS第一人称后鼠标消失
- 【开源电机驱动】速度环控制
- L1-002打印沙漏C语言,沙漏
- IP核Map编译报错:Buffers of the same direction cannot beplaced in series.
- Python发送邮件的类
热门文章
- win10内存占用率莫名其妙过高解决方法
- 时序分析 44 -- 时序数据转为空间数据 (三) 格拉姆角场 python 实践 (上)
- Rotten Tomatoes 电影数据分析
- linux虚拟桌面设置不同的背景,给不同虚拟桌面设置不同壁纸,将windows的虚拟桌面最大化使用...
- 修复iPhone系统故障导致的黑屏
- 贵州省发票认证系统服务器地址,贵州省增值税发票综合服务平台登录入口:https://fpdk.guizhou.chinatax.gov.cn...
- 桌面上的计算机图片怎么复制,电脑桌面上怎么截图呢??请问如何在电脑屏幕上截屏?...
- MATLAB算法实战应用案例精讲-【人工智能】语义分割(补充篇)(附matlab代码实现)
- java毕业设计KTV点歌系统mybatis+源码+调试部署+系统+数据库+lw
- 中国联通物联网平台能力介绍