0

请从我的 json Web 服务中获得以下输出:

      {"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,但它可以是另一个数字)。我正在寻求您的帮助以实现这一目标。任何帮助将不胜感激。

4

2 回答 2

1

如果生成的对象仅包含一个以该数字作为名称的属性,即

result = {
    206 : {
        ...
    }
    // no other properties here
}

那么你可以使用类似的东西:

var num = Object.keys(result).shift();  // "206"

检查MDN方法的浏览器兼容性,并在需要时使用shim 。Object.keys()

于 2013-04-18T16:15:15.387 回答
1

如果您要查找的对象始终具有玩家名称作为值,请尝试

for (var key in obj.result) if obj.result[key]["player_name") alert(key)

或者使用 jQuery

$.each(data.result,function(key,val) {
  alert(key);
});
于 2013-04-18T16:23:36.423 回答