2011-04-19 66 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