0

我希望能够编组/解组一个结构

type MyType struct {
    Items    <What goes here?>   `json:"item"`
}

它必须能够处理的示例 JSON 文档是

{"items":["value1", {"x":"y"}, "value3"]}

我才刚刚开始学习围棋。我开始认为我可能需要对数组的结构施加一些限制。使用上面的例子,我的想法是

{"items":[
    {"type":null, "value":"value1"}
    {"type:"x", "value":"y"},
    {"type": "value3", "value":"value3"}
]}

然后用自己的结构对里面的对象进行建模。我宁愿用第一种方法,可以吗?

4

1 回答 1

0

你的 Items 必须是一个接口数组

像这样:

Items []interface{}

这是一个完整的例子:
http ://play.golang.org/p/LOXCiSmUET

当您解组您的 json 并想要遍历您的 Items 时,您需要识别类型。当意识到复杂类型表示为 map[string]interface而不是结构时,在这种情况下您需要自己创建结构

于 2013-06-29T19:10:36.727 回答