golang解析json格式数据
2016-12-14 22:55
399 查看
json简介
JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式。常见样式1
{ "id": 1, "name": "bill" }
这个json格式数据中,包含了2个字段,一个是id字段,值是1;第二个字段是name字段,其值是bill。这是一种基础的json格式数据。
常见样式2
[ { "id": 1234, "name": "jack" }, { "id": 4567, "name": "tom" } ]
这中形式的json可以用来表述数组。可以将数据库中的多行转换成数组形式的json。每一行一个大括号,行与行之间用逗号分隔。整个数据用中括号括起来。这样用来表述一个json格式的数组。
常见样式3
{ "version": "v1.0.1", "data": [ { "id": 999, "name": "lucy" }, { "id": 888, "name": "Jordan" } ], "jj": "god" }
json可以表达丰富多彩的数据结构。json格式通常可以理解为key/value结构。value值又可以表示成字符串,数字,也可以表示成子json对象。当value成json对象时,实现了嵌套json的数据结构。
下边来使用golang解析嵌套的json格式数据。示例如下:
package main import ( "encoding/json" "fmt" ) type data struct { Id string Val string } type user struct { Id string Name string Age string } type tjson struct { D data Version string U user } func main() { js := tjson{ D: data{Id: "text", Val: "hello world"}, Version: "0.1", U: user{Id: "bill", Name: "bill gates", Age: "18"}, } ojs, err := json.Marshal(js) fmt.Println(string(ojs), err) var mjs = `{"D":{"Id":"text","Val":"hello world"},"Version":"0.1","U":{"Id":"bill","Name":"bill gates","Age":"18"}}` var ret tjson err = json.Unmarshal([]byte(mjs), &ret) fmt.Println(ret, ret.D.Id, ret.U.Name, err) }
演示结果如下:
{ "D": { "Id": "text", "Val": "hello world" }, "Version": "0.1", "U": { "Id": "bill", "Name": "bill gates", "Age": "18" } }
{{text hello world} 0.1 {bill bill gates 18}} text bill gates
相关文章推荐
- JSON 体验JSON (三)JSON 数据格式解析(转载)
- php 无限级数据JSON格式及JS解析
- .net怎么解析Json格式数据
- android 解析json数据格式
- android 解析json数据格式
- JSON 数据格式解析(转)
- JQuery解析多维的Json数据格式
- android 解析json数据格式
- ExtJS fileupload组件上传文件后从服务端解析JSON格式数据
- json数据格式解析
- 简简单单——无限级数据JSON格式及JS解析
- Jquery解析Json格式数据
- php怎么解析json格式数据
- android 解析json数据格式
- JQuery 解析多维的Json数据格式
- php 无限级数据JSON格式及JS解析
- 很好用的Google 开源项目Gson在java中解析和创建json格式的数据
- android 解析json数据格式
- 关于Java解析json格式数据
- android 解析json数据格式