2012-06-05 108 views
0

下面是我作爲JSON字符串的內容。在json字符串中查找值

{ 
    "ID_A0001":{"areaID":"A0001","shopID":"SH004","quantity":14}, 
    "ROW_INFO":{"areaID":"VARCHAR","shopID":"VARCHAR","quantity":"INT"}, 
    "ID_A0002":{"areaID":"A0002","shopID":"SH008","quantity":18} 
} 

我要的是獲得具有ID爲ID_AID_A0001 & ID_A0002JSONObject

我想用jsonObject.getString("ID_A"),但這是不可能的。有人能告訴我該怎麼做,以便我能得到如下的結果。

{ 
    "ID_A0001":{"areaID":"A0001","shopID":"SH004","quantity":14}, 
    "ID_A0002":{"areaID":"A0002","shopID":"SH008","quantity":18} 
} 

回答

4

下面的代碼你想要做什麼,假設你發佈存儲在obj的對象。如果實際上有一個JSON 字符串而不是對象,請使用JSON.parse()將該字符串轉換爲JavaScript對象。

var obj2 = {}; 
for(var key in obj) { 
    if(key.substr(0, 4) == 'ID_A') { 
     obj2[key] = obj[key]; 
    } 
} 
2

在你提到的json對象中,你可以修改它如下。

var jsontest={ 
    ID_A0001:{"areaID":"A0001","shopID":"SH004","quantity":14}, 
    ROW_INFO:{"areaID":"VARCHAR","shopID":"VARCHAR","quantity":"INT"}, 
    ID_A0002:{"areaID":"A0002","shopID":"SH008","quantity":18} 
     }; 

for(var key in jsontest) { 
    if(key.substring(0,4)=='ID_A') 
    alert('key: ' + key + '\n' + 'value: ' + jsontest[key].areaID); 
} 

http://jsfiddle.net/FBLvP/

這裏是一個有用的鏈接,向我們展示瞭如何從一個JSON對象獲得的密鑰列表 http://encosia.com/using-jquery-1-6-to-find-an-array-of-an-objects-keys/1