2013-05-30 150 views
0

我有以下的JSON如何獲取數據從JSON

{ 
     "MenuName": "starter dish", 
     "SubMenu": [ 
      "pizza dish1", 
      "pizza dish2" 
     ], 
     "Price": [ 
      "100", 
      "110" 
     ] 
    }, 

在這裏,我可以輕鬆地從「Menuname」鍵啓動盤讀取數據,但是當我從獲取數據「​​」我得到整個字符串數據作爲["pizza dish1", "pizza dish2"]

請給我建議的方式來區分這兩種pizza dish1 and pizza dish2

+0

使用JSON解析... – Riser

+0

試試這個:http://stackoverflow.com/a/9606629/2427543 – vdwijngaert

+0

@vdwijngaert我正在從價格分析,但整串我得到是兩個值。需要區分它們 –

回答

4

​​和Price不是字符串,JSONArray,所以你需要使用for-loop獲得的所有值從​​JSONArray爲:

JSONArray jsonsubmenu=yourjsonobject.getJSONArray("Submenu"); 

    for(int i=0;i < jsonsubmenu.length();i++){  
    // get all values from jsonsubmenu JSONArray.. 
     String str_value=jsonsubmenu.optString(i); 
     .... 
    } 
2

試試這個

  for (int i = 0; i < jsonArray.length(); i++) { 
      jsonArray.getJSONObject(i).getInt("SubMenu"); 
      } 
0

嗨在第在senarerio,您必須使用

JSONArray _submenu = object.getJSONArray("SubMenu"); 
     for (int i = 0; i < _submenu.length(); i++) { 
      String text = _submenu.getString(i); 
     } 
     JSONArray _price = object.getJSONArray("Price"); 
     for (int i = 0; i < _price.length(); i++) { 
      String text = _price.getString(i); 
     } 
2

您可以使用this link爲您的響應創建POGO類。它會自動爲您的回覆生成課程。

使用google GSON庫來解析您的回覆。

或者您可以簡單地創建一個JSON數組或對象來解析它。在你的情況下,它是JSON對象或JSON數組。

0

您可以檢索數組值並將其存儲在字符串[]中並根據需要使用它們。即,如下所示。

try { 
      JSONObject jObject = new JSONObject(jsonString); 
      JSONArray jSubmenu = jObject.getJSONArray("SubMenu"); 
      subMenu = new String[jSubmenu.length()]; 
      for (int i = 0; i < subMenu.length; i++) { 
       subMenu[i] = jSubmenu.getString(i); 
      } 
      JSONArray jPrice = jObject.getJSONArray("Price"); 
      price = new String[jPrice.length()]; 
      for (int i = 0; i < price.length; i++) { 
       price[i] = jPrice.getString(i); 
      } 

     } catch (Exception e) { 
      // TODO: handle exception 
     } 
0

只是在一個quickie - 閱讀,並使用GSON。

對於簡單的小型工作,我發現它是最好的。對於複雜的或長期的結構來說,這不是最快的運行方式,但在開發方面確實很快。

這裏的鏈接:google-gson