2011-04-19 70 views
1

我从数据库中获取jsontext作为(id,val),我必须将id名称设置为单选按钮id名称和值作为单选按钮的显示名称或值。 JSON.parse只会给出该值,如果我指定了id的名称。是否可以通过给定索引来检索值。我怎样才能得到id的名字呢? 例子:如何使用索引检索JSON文本?

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

我的要求是如何既ID和值使用索引或通过某种方式来检索。 JSON文本是

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

+2

“让我看看你的流程图并隐藏你的桌子,我会继续困惑。给我看你的桌子,我通常不需要你的流程图;他们会很明显。“ – Anders 2011-04-19 11:28:34

+0

你可以发布你的JSON的例子吗? – detaylor 2011-04-19 11:28:58

+0

请在这里发布你的json – 2011-04-19 11:29:19

回答

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