jQuery:如何引用JSON中的特定字段?

时间:2013-12-28 18:02:06

标签: jquery ajax json reference field

{
 "TEAM-9f0ca1c0-5d32-11e3-9cf7-782bcb4ce61a": {
   "queue": "RANKED_TEAM_5x5",
   "name": "Veigar's Scouts",
   "entries": [
      {
        "isHotStreak": false,
        "isFreshBlood": false,
  .... etc ...

我想参考这个字段:" TEAM-9f0ca1c0-5d32-11e3-9cf7-782bcb4ce61a",但这个值不是常量。当值不恒定时,如何引用特定字段?

1 个答案:

答案 0 :(得分:2)

我假设您正在处理反序列化的对象图,而不是JSON字符串。

您可以使用for-in循环浏览顶级对象的属性名称(键),并查找以TEAM-开头的那个。

例如:

var obj = /* ... get the object; if you really have a string, use JSON.parse... */;
var key;
var value;
for (key in obj) {
    if (key.substring(0, 5) === "TEAM-") {
        value = obj[key];
        break;
    }
}

我在第一个找到的地方停了下来。请注意,访问属性名称(键)的顺序是未定义,因此如果可能有多个匹配的属性名称,则可能需要添加逻辑以选择一个。

for-in枚举(循环)对象的可枚举属性,允许您依次访问每个属性名称。在JavaScript中,您可以通过两种方式引用属性:使用文字符号(foo.bar)或带括号的符号(foo["bar"])。在后一种情况下,字符串名称可以是任何表达式的结果,包括变量查找。因此,由于我们将属性名称作为字符串(在变量key中),因此我们希望在检索值时使用括号表示法:obj[key]