如何将这个嵌套的JSON解组为go对象?

时间:2016-05-26 19:46:37

标签: json go

我有一个类似于这个的JSON对象:

{
"prices": {
    "7fb832f4-8041-4fe7-95e4-6453aeeafc93": {
        "diesel": 1.234,
        "e10": 1.234,
        "e5": 1.234,
        "status": "open"
    },
    "92f703e8-0b3c-46da-9948-25cb1a6a1514": {
        "diesel": 1.234,
        "e10": 1.234,
        "e5": 1.234,
        "status": "open"
    }
}

我不知道如何将其解组为GO对象而不会丢失每个子项的唯一ID字段,这对我来说是重要的信息。

2 个答案:

答案 0 :(得分:7)

您可以使用带有字符串键的enemy.size()来保留每个子价格的唯一ID:

map

然后,例如,您可以遍历解组的对象:

type Object struct {
    Prices map[string]*Price `json:"prices"`
}

type Price struct {
    Diesel float32 `json:"diesel"`
    E10    float32 `json:"e10"`
    E5     float32 `json:"e5"`
    Status string  `json:"status"`
}

https://play.golang.org/p/aPhvGdtFC_

答案 1 :(得分:2)

使用地图:

gem: --no-rdoc --no-ri
gemhome: /var/ruby/1.8/gem_home
gempath:
 - /usr/ruby/1.8/lib/ruby/gems/1.8

playground example