2011-03-25 73 views
0
{ 
"antikguiden": { 
    "stores":[ 
    { 
    "name": "Ninas Bruk & Brocante (Fd Isakssons Antik och Kuriosa)", 
    "category": "Antikaffär" },} 

此JSON如何選擇數據現在我想選擇數據名稱&類別使用的JSONObject

上展示Android模擬器。

我該如何編寫代碼?謝謝。

+1

這不是JSON。這看起來像一個5歲的混合鍵盤的結果。你的'{,},[,]'都在商店裏。 – Matt 2011-03-25 09:23:13

回答

0

確定。我不認爲你發佈了完整的JSON字符串;

下面是一個有效的JSON字符串:

{ "antikguiden": 
    { "stores":[ 
     {"name": "Ninas Bruk & Brocante (Fd Isakssons Antik och Kuriosa)","category": "Antikaffär"} 
     ]} 
} 

下面是如何解析它在安卓

String jsonStr = the json string above; 
JSONObject jObject = new JSONObject(jsonStr); 
JSONObject antikguiden = jObject.getJSONObject("antikguiden"); 
JSONArray storeList = antikguiden.getJSONArray("stores"); 
for(int i = 0; i < storeList.length(); i++) { 
    JSONObject story = storeList.getJSONObject(i); 
    String name = story.getString("name"); 
    String category = story.getString("category"); 
} 

我沒有測試過,所以有可能是一個語法錯誤或兩個;但這就是你如何去做的。

0

如果你的字符串如下所示。

 
str = "{'antikguiden':{'stores':[{'name': 'Ninas Bruk & Brocante (Fd Isakssons Antik och Kuriosa)','category': 'Antikaffär'}] }}"; 
     try { 
      JSONObject obj = new JSONObject(str); 
      JSONObject obj1 = obj.getJSONObject("antikguiden"); 
      JSONArray jsonarray = obj1.getJSONArray("stores"); 
      Log.v("TEST","name is "+jsonarray.getJSONObject(0).get("name")); 
      Log.v("TEST","category is "+jsonarray.getJSONObject(0).get("category")); 
     } catch (JSONException e) { 
      e.printStackTrace(); 
     } 

爲了使它泛化爲詹姆斯所提到的,在得到json數組之後使用循環。