json web service从动态参数的名称获取值

时间:2013-04-18 16:11:55

标签: javascript web-services

请从我的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,但它可以是另一个数字)。 我要求你帮助实现这一目标。 任何帮助将不胜感激。

2 个答案:

答案 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);
});
相关问题