如何为JSON创建正确的结构

时间:2018-09-01 04:40:04

标签: json go

如何正确解析json我有以下json文件

{
    "hello": {
        "title": "Golang",
        "story": [
            "Go lang story",
            "Channel story"
        ],
        "options": [
            {
                "text": "That story",
                "arc": "west"
            },
            {
                "text": "Gee",
                "arc": "east"
            }
        ]
    },
    "world": {
        "title": "Visiting",
        "story": [
            "Boo",
            "Doo",
            "Moo",
            "Qoo"
        ],
        "options": [
            {
                "text": "weird",
                "arc": "west"
            },
            {
                "text": "funny",
                "arc": "north"
            }
        ]
    }
}

我已经为内部部分创建了这些结构

type chapter struct{
    Title string `json:"title"`
    Story []string `json:"story"`
    Option []option `json:"options"`
}

type option struct {
    Text string `json:"text"`
    Arc string `json:"arc"`
}

但是我不知道如何解析“ hello”和“ world”之类的包装器

1 个答案:

答案 0 :(得分:1)

构造根图所需要做的一切。

{
    "hello":{},
    "world":{}
}

此处helloworld也在地图内。因此,您也需要对其进行结构化。

 var root map[string]chapter
 json.Unmarshal(JSONDATA,&root)

游乐场示例:https://play.golang.org/p/VZ9Bn215dDW