Android 检查JSONObject键是否存在
我正在对一个后端进行api调用,该后端总是有一个Android 检查JSONObject键是否存在,android,json,jsonexception,Android,Json,Jsonexception,我正在对一个后端进行api调用,该后端总是有一个JSONArray系列,有时还有一个JSONArray位置。在下面的代码中,我试图编写一个if语句,该语句表示,只要没有placesarray,就发出另一个http请求。然而,我并没有得到一个空指针,它只是抛出一个JSON异常,表示places没有值。当places没有值时,我可以设置什么作为终止条件?我尝试了places==null,但没有成功 try{ JSONArray places = passingObject.getJSONAr
JSONArray系列
,有时还有一个JSONArray位置
。在下面的代码中,我试图编写一个if语句,该语句表示,只要没有places
array,就发出另一个http请求。然而,我并没有得到一个空指针,它只是抛出一个JSON异常,表示places没有值。当places
没有值时,我可以设置什么作为终止条件?我尝试了places==null
,但没有成功
try{
JSONArray places = passingObject.getJSONArray("places");
JSONArray series = passingObject.getJSONArray("series");
if(some condition){
//do something else
}
}catch(JSONException e){
Log.d("JSON EXCEPTION" e.getMessage());
}
检查对象是否具有名为places的键
if (passingObject.has("places") {
JSONArray places = passingObject.getJSONArray("places");
} else {
askServerAgain();
}
或者你可以使用
optJSONArray()代码>如果没有这样的键,或者如果它的值不是JSONArray,则返回null。如果键中包含的空格(如“某些位置”)是键,则它将不起作用。
JSONArray places = passingObject.optJSONArray("places");
if(places == null){...}