2014-09-29 62 views
0

以下是我正在使用的代碼。進出口創造一個JSONArray有一個JSONObjects,並試圖找回一個JSONObjects背部和屬性:檢查JSONObject名稱

JSONArray:

[ 
    { 
     "test":{ 
      "page":"Apple", 
      "ms":"234" 
     } 
    }, 
    { 
     "check":{ 
      "page":"Apple", 
      "ms":"234" 
     } 
    } 
] 

Java代碼:

ARR1是JSONArray,包含上述數據;

for(int i = 0 ; i < arr1.length() ; i++){   
    try { 
     JSONObject object = arr1.getJSONObject(i); 
     //Check whether it is "test" 
      JSONObject jo = object.getJSONObject("test"); 
      System.out.println(jo.getString("page")); 
     //check whether it is "check" 
      JSONObject jo = object.getJSONObject("check"); 
      System.out.println(jo.getString("page")); 
    } catch (JSONException e) { 
     e.printStackTrace(); 
    } 
} 

我想知道的是如何檢查第一個JSONObject是否指定了值,然後轉到下一個對象。我已經評論了IF或SWITCH聲明的地方。請幫忙

+0

http://stackoverflow.com/questions/7451600/jsonobject-how-to-get-a-value – 2014-09-29 07:27:07

+0

我已經檢查過。如果存在這樣的對象,並且如果沒有錯誤,則此問題將採用該屬性。我想要的是,檢查該元素是否存在 – Vithushan 2014-09-29 07:29:52

+0

http://www.json.org/javadoc/org/json/JSONObject.html#getJSONObject(java.lang.String) – cy3er 2014-09-29 07:34:27

回答

2

檢查是否存在某個元素或不使用JSONObject.isNull方法。

for(int i = 0 ; i < arr1.length() ; i++){   
    try { 
     JSONObject object = arr1.getJSONObject(i); 
     //Check whether it is "test" 
     if(! object.isNull("test")){ 
     // do your stuff 
     } 
    } catch (JSONException e) { 
     e.printStackTrace(); 
    } 
} 
+0

謝謝。有用 – Vithushan 2014-09-29 07:52:17