2014-09-29 63 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