首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何将JSON解组到接口数组中并使用

如何将JSON解组到接口数组中并使用
EN

Stack Overflow用户
提问于 2018-06-06 07:14:26
回答 1查看 2.9K关注 0票数 0

我很难理解如何正确地将一些JSON数据解组到一个inteface类型的数组中,然后使用它。我试图使这个示例代码尽可能简单,以说明我遇到的问题。代码可以在游乐场上找到:https://play.golang.org/p/U85J_lBJ7Zr

输出如下所示:

[地图对象类型:椅子ID:1234品牌:蓝色公司地图ID:5678位置:厨房对象类型:桌子]{} false {} false

代码

代码语言:javascript
复制
package main

import (
    "fmt"
    "encoding/json"
)

type Chair struct {
    ObjectType string
    ID string
    Brand string
}

type Table struct {
    ObjectType string
    ID string
    Location string
}

type House struct {
    Name string
    Objects []interface{}
}



func main() {
    var h House
    data := returnJSONBlob()
    err := json.Unmarshal(data, &h)
    if err != nil {
       fmt.Println(err)
    }
    fmt.Println(h.Objects)
    s1, ok := h.Objects[0].(Table)
    fmt.Println(s1, ok)
    s2, ok := h.Objects[0].(Chair)
    fmt.Println(s2, ok)

}

func returnJSONBlob() []byte {
    s := []byte(`
{
  "Name": "house1",
  "Objects": [
    {
      "ObjectType": "chair",
      "ID": "1234",
      "Brand": "Blue Inc."
    },
    {
      "ObjectType": "table",
      "ID": "5678",
      "Location": "Kitchen"
    }
  ]
}
    `)
    return s
}
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50710160

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档