我希望能够编码/解码一个结构
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"}
]}
然后用自己的结构对里面的对象建模。我宁愿用第一种方式,这可能吗?
最佳答案
你的项目必须是一个接口(interface)数组
像这样:
Items []interface{}
这是一个完整的例子:
http://play.golang.org/p/LOXCiSmUET
当您解码您的 json 并想要遍历您的项目时,您需要识别类型。做的时候要注意复杂类型表示为 map[string]interface 而不是结构,在这种情况下你需要自己创建结构
关于json - Go:在结构中建模通用 JSON 数组可能吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17383554/