检查 JSONObject 键是否存在
Check if JSONObject key exists
我正在向始终有 JSONArray series
有时有 JSONArray places
的后端发出 api 调用。在下面的代码中,我试图编写一个 if 语句,表示只要没有 places
数组,就发出另一个 http 请求。但是,我没有得到空指针,它只是抛出一个 JSON 异常,表示位置没有价值。当 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();
}
或者你可以使用
http://www.json.org/javadoc/org/json/JSONObject.html#optJSONArray(java.lang.String)
JSONArray places = passingObject.optJSONArray("places");
if(places == null){...}
optJSONArray();
如果没有这样的键,或者它的值不是 JSONArray,它 returns null。
我正在向始终有 JSONArray series
有时有 JSONArray places
的后端发出 api 调用。在下面的代码中,我试图编写一个 if 语句,表示只要没有 places
数组,就发出另一个 http 请求。但是,我没有得到空指针,它只是抛出一个 JSON 异常,表示位置没有价值。当 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();
}
或者你可以使用 http://www.json.org/javadoc/org/json/JSONObject.html#optJSONArray(java.lang.String)
JSONArray places = passingObject.optJSONArray("places");
if(places == null){...}
optJSONArray();
如果没有这样的键,或者它的值不是 JSONArray,它 returns null。