【发布时间】:2021-09-16 22:18:46
【问题描述】:
我正在尝试获得“靴子”价值
我的主函数
varjson:=`{
"identifier": "1",
"name": "dumbname",
"person": {
"items": null,
"inventory": [
{
"T-shirt": "black",
"Backpack": {
"BigPocket": {
"spell": "healing",
"boots": "speed",
"shampoo": "Head & Shoulders"
}
}
}
],
"Pockets": null
}
}`
var res map[string]interface{}
json.Unmarshal([]byte(varjson), &res)
test(res)
测试功能
func test(t interface{}) {
switch reflect.TypeOf(t).Kind() {
case reflect.Slice:
s := reflect.ValueOf(t)
for i := 0; i < s.Len(); i++ {
fmt.Println(s.Index(i))
}
}
}
但是当我编译时我什么也得不到 如果有另一种方法来获取 Json 中的“启动”值?
【问题讨论】:
-
map[string]interface{}是 hell to navigate - 尝试在线资源,如 json-to-go 以找到一个中间结构到json.Unmarshal到 -
当然,现在我正在使用由网页 play.golang.org/p/I2gHwTUUeBM 生成的 Structs 得到此代码,但仍然不知道如何获取 boots 值:/