首先需要引入json库
import "encoding/json"
我们需要解析如下格式的json字符串
{
"code": 0,
"msg": "操作成功",
"data": {
"result": [
{
"name": "小白",
"age": 18,
"isDog": true
},
{
"name": "小黑",
"age": 180,
"isDog": false
}
]
}
}
解析代码如下:
func main() {
jsonStr := `{"code":0,"msg":"操作成功","data":{
"result" :[
{"name":"小白","age":18,"isDog":true},
{"name":"小黑","age":180,"isDog":false}
]
}}`
//用map类型解析
jsonMap := map[string]interface{}{}
err := json.Unmarshal([]byte(jsonStr), &jsonMap)
if err != nil {
fmt.Println("json解析出错:", err.Error())
}
//取第一层data
data, _ := jsonMap["data"].(map[string]interface{})
//取data下的result
result := data["result"].([]interface{})
//循环打印result
for _, v := range result {
item := v.(map[string]interface{})
fmt.Println("name:", item["name"].(string))
fmt.Println("age:", int64(item["age"].(float64)))
fmt.Println("isDog:", item["isDog"].(bool))
}
}
最终运行结果