我有这个 json 可以转换为:
var leerCHAT []interface{}
但是我正在经历疯狂的箍来到达地图内部和地图内部疯狂的地图上的任何点,特别是因为有些结果是不同的内容。这是Json
[
null,
null,
"hub:zWXroom",
"presence_diff",
{
"joins":{
"f718a187-6e96-4d62-9c2d-67aedea00000":{
"metas":[
{
"context":{},
"permissions":{},
"phx_ref":"zNDwmfsome=",
"phx_ref_prev":"zDMbRTmsome=",
"presence":"lobby",
"profile":{},
"roles":{}
}
]
}
},
"leaves":{}
}
]
我需要进入配置文件,然后里面有一个“DisplayName”字段。
所以我一直在做疯狂的黑客攻击..即使这样我也被卡住了一半......
首先是一个数组,所以我可以做一些事情[elementnumber] 然后是当棘手的映射开始时......对所有打印等感到抱歉,是为了调试并查看我要返回的元素数量。
if leerCHAT[3] == "presence_diff" {
var id string
presence := leerCHAT[4].(map[string]interface{})
log.Printf("algo: %v", len(presence))
log.Printf("algo: %s", presence["joins"])
vamos := presence["joins"].(map[string]interface{})
for i := range vamos {
log.Println(i)
id = i
}
log.Println(len(vamos))
vamonos := vamos[id].(map[string]interface{})
log.Println(vamonos)
log.Println(len(vamonos))
metas := vamonos["profile"].(map[string]interface{}) \\\ I get error here..
log.Println(len(metas))
}
到目前为止,我可以一直看到 meta:{...} 但无法继续将我的 hacky 代码用于我需要的内容。
注意:因为在 Joins: 和 metas: 之前的 id 是动态的,所以我必须以某种方式获取它,因为它始终只是一个元素,我做了 for range 循环来抓取它。
弑天下
相关分类