需求-解析如下的JSON:
{
"99": {
"123": "名称",
"345": "职业",
"id": "99",
"name": "平安"
}
}
分析:
key : 99 # 为用户的ID,此ID是根据查询结果来生成的,不是固定的
使用官方默认的 json.Unmarshal 并不能解析出来
解决:
package main
import (
"testing"
"github.com/json-iterator/go"
)
func TestUnknownJsonKey(t *testing.T) {
jsonStr := `{
"99": {
"123": "名称",
"345": "职业",
"id": "99",
"name": "平安"
}
}`
var jsonIterator = jsoniter.ConfigCompatibleWithStandardLibrary
var jsonInterf map[string]interface{}
// json 转 map
_ = jsonIterator.Unmarshal([]byte(jsonStr), &jsonInterf)
t.Logf("%#v\n", jsonInterf)
key := jsonInterf["99"]
t.Logf("%v\n", key)
}