解组具有未知字段名称的JSON

时间:2016-11-13 01:07:33

标签: json go

我有一个JSON对象,如下所示:

{
    "randomstring": {
        "everything": "here",
        "is": "known"
    }
}

基本上randomstring对象中的所有内容都是已知的,我可以对其进行建模,但 randomstring 本身是随机的。我知道它会是什么,但每次都不一样。基本上我需要的所有数据都在 randomstring 对象中。我怎么能解析这种JSON来获取数据?

1 个答案:

答案 0 :(得分:6)

使用密钥类型为string的地图,值类型为包含所需字段的结构,例如this example on the Playground及以下字段:

package main

import (
    "encoding/json"
    "fmt"
    "log"
)

type Item struct{ X int }

var x = []byte(`{
    "zbqnx": {"x": 3}
}`)

func main() {
    m := map[string]Item{}
    err := json.Unmarshal(x, &m)
    if err != nil {
        log.Fatal(err)
    }
    fmt.Println(m)
}