2014-10-08 30 views
0

我在Java中提取Json數據,而我的Json具有不同的結構,並不總是相同的。例如:如何避免一個Json數組當我提取數據

{"0":{"id"="255",name="example"},"1":{"news_id":"47221","news_infos":{"title":"test","date":"2014-05-14 17:44:02","shared":"47"},"website":"test.it"},"3":{"id"="55885",name="foo"}} 

這只是一個例子。我想知道的是如何跳過第二個,我們假設第二個是JsonArray。 這是我在java中做的一個例子;

for (int i = 0; i < jObj.length() ; i++) { 
       try { 
        JSONObject obj = jObj.getJSONObject(i); //Suppose that every entry in the Json is an object and not a JsonArray. 
        if (!obj.isNull("titrenews")) { 
         Home home = new Home(); 
         Log.i("Infos","Yes"); 
         home.setNomC(obj.getString("titrenews")); 
         home.setPhotoAr(photoNews); 
         home.setText(obj.getString("textnews")); 
         home.setNbrSick(obj.getString("sicks")); 

         homeList.add(home); 

        } 
       }catch (JSONException e) { 
        e.printStackTrace(); 
       } catch (UnsupportedEncodingException e) { 
        e.printStackTrace(); 
       } 
      } 

總結問題我有一個JSON數據。由JsonObject和JsonArray組成,我想要的是跳過jsonArray條目,並避免它

所以任何解決方案,請!

+0

哪個JSON庫/解析器使用? – salyh 2014-10-08 14:09:21

+0

來自java的org.json我假設 – Karimx 2014-10-08 14:10:53

+0

你的json例子是無效的json(檢查與http://jsonformatter.curiousconcept.com),並沒有任何json數組。你能否提供一個完整的例子(完整的有效json和完整的源代碼)? – salyh 2014-10-08 14:17:11

回答

0

試試這個辦法:

for (Object obj : jObj) { 
    if (obj instanceof JSONObject){ 
     //do something 
    } 
    else if (obj instanceof JSONArray){ 
     continue;//skip 
    } 
} 
+0

這是工作,謝謝! – Karimx 2014-10-08 14:32:32