GitHub - droidzf/JSON: json parser for go/json解析
JSON解析
install
go get github.com/droidzf/JSON
testJson := JSON.ParseObj(`{ "status": 0, "msg":"success", "success":true, "data": { "count": 4, "array":[[{"a":1},{"a":2}],[{"a":3},{"a":4}]], "rows": [ { "id": 598, "name": "李白", "org": "唐朝" }, { "id": 597, "user_name": "李黑" } ] } }`) println(testJson.ToString())
获取object
testObj := result.GetObject("data") println(testObj.ToString())
获取array
testarray :=testObj.GetArray("array").GetArray(0) println(testarray.ToString())//[{"a":1},{"a":2}]
获取值
status := testJson.Get("status").(int) //0 sint := testJson.GetInt("status") //0 suc := testJson.GetString("msg") //success boo := testJson.GetBoolean("success") //true result.GetObject("data").GetArray("rows").GetObject(0).GetString("name")//李白
API
| 方法名 | 说明 |
|---|---|
| GetObject | 获取jsonObject |
| GetArray | 获取jsonArray |
| ToJsonString | struct/map[string]interface{}转json字符串 |
| ToString | 转字符串 |
| ToStringIndent | 格式化输出字符串 |
| Get | 获取值返回interface |
| GetString | 获取字符串 |
| GetBoolean | 获取bool类型 |
| GetLong | 获取int64 |
| GetInt | 获取int |
| GetFloat | 获取float64 |
Object方法
| 方法名 | 说明 |
|---|---|
| NewObject | 生成新Object |
| ParseObject | 解析json字符串为Object |
| Remove | 删除 原json对象中数组内容会改变 |
| Set | 更改或添加 可以是JSON.Array、Json.Object、interface 原json对象中数组内容会改变 |
| Keys | 获取key和value数组 keys:[]string values: JSON.Array |
Array 方法
| 方法名 | 说明 |
|---|---|
| NewArray | 生成新Array |
| ParseArray | 解析json字符串为Array |
| Remove | 删除 原json对象中数组内容不变 |
| Put | 添加 可以是JSON.Array、Json.Object、interface 原json对象中数组内容不变 |
| Length | Array长度 |