请从我的json网络服务获得此输出:
{"format":"json",
"success":true,
"errors":[],
"result":
{"**206**":
{"player_name":"stagiaire",
"M":{
"6480":{"score":0,"answer":"cdgvbdbgd","category_name":"cdgvbdbgd"},
"6481":{"score":0,"answer":"cdgvbdbgd","category_name":"cdgvbdbgd"},
"6482":{"score":0,"answer":"cdgvbdbgd","category_name":"cdgvbdbgd"},
"6483":{"score":0,"answer":"cdgvbdbgd","category_name":"cdgvbdbgd"},
},
"O":{
..... },
}
}
}
我想要的是提取值(现在是206,但它可以是另一个数字)。 我要求你帮助实现这一目标。 任何帮助将不胜感激。
答案 0 :(得分:1)
如果结果对象只包含一个以此编号作为名称的属性,即
result = {
206 : {
...
}
// no other properties here
}
然后你可以使用类似的东西:
var num = Object.keys(result).shift(); // "206"
在 MDN 处查看browser compatibility Object.keys()
方法,并根据需要使用shim。
答案 1 :(得分:1)
如果您查找的对象始终将玩家名称作为值,请尝试
for (var key in obj.result) if obj.result[key]["player_name") alert(key)
或者使用jQuery
$.each(data.result,function(key,val) {
alert(key);
});