我有一段代码需要同时处理JSONObject和JSONArray(它可能返回其中之一)。当我收到一个对象而不是一个数组时,它引发了异常。一种解决方案是检查第一个字符是否为{或[,但是我希望有一个更好的字符。
JSONObject responseMsgObject = new JSONObject(dummyJson);
if (responseMsgObject.has("messages")) {
String successString = responseMsgObject.getString("response");
if (successString.equalsIgnoreCase("SUCCESS")) {
JSONArray messageArray = responseMsgObject
.getJSONArray("messages");
return messageArray;
}
} else
return null;
最佳答案
JSONObject responseMsgObject = new JSONObject(dummyJson);
if (responseMsgObject.has("messages")) {
String successString = responseMsgObject.getString("response");
if (successString.equalsIgnoreCase("SUCCESS")) {
JSONArray messageArray = responseMsgObject
.optJSONArray("messages"); //optJSONArray returns null if doesnt exist or is not a JSONArray
if(messageArray!=null){
return messageArray;
}
}
}
else
return null
;
关于android - JSON解析问题-如何在一段代码中同时处理JSONArray和JSONObject,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/6335325/