如何使用索引检索JSON文本?

时间:2011-04-19 11:26:44

标签: javascript json

我从数据库获取jsontext为(id,val),我必须将id名称设置为单选按钮id name和value作为单选按钮的显示名称或值。 JSON.parse将只给出值,如果我指定了id的名称。是否可以通过提供索引来检索值。我怎样才能获得id名称? 示例:

         var dbDets = JSON.parse(jsontext);
         var s=dbDets[0];
         alert(s["DB001"]); //This is working
         alert(s[0]);//This is not working.

我的要求是如何使用索引或某种方式检索id和值。 Json Text是

  

[{ “DB001”: “EMAP”, “DB002”: “SAMPLEDB”, “DB003”: “webuserstat”}]

1 个答案:

答案 0 :(得分:2)

我认为这就是你的意思。以下是如何遍历对象的属性。如果它是一个对象(而不是数组),则只能按名称而不是索引获取其成员。

for (var i=0;i<dbDets.length;i++) {
    for (var prop in dbDets[i]) {
       if (dbDets.hasOwnProperty(prop)) {
          alert('index:' + i + ',name:'+prop+', value:' + dbDets[i][prop]);
       }
    }
}

可能是您希望以不同方式序列化数据,以便每个项都具有一致的命名属性,并将键(“DB001”)存储为对象中的值,而不是将其用作属性名称。

我假设数组dbDets看起来像这样:

[{ DB001: "somevalue"}, {DB002: "somevalue"}, ... ]

如果您存储如下数据,那么使用这些信息会更容易:

[{ id:"DB001", value: "somevalue"}, {id: "DB002", value: "somevalue"}, ... ]

然后,您可以像dbDets[index].iddbDets[index].value

那样访问它