[英]How to parse JSON that can be either an object or an array?
我从服务器返回了一个JSON字符串,它可以是JSONArray
或JSONObject
,并且我事先不知道会得到什么(至少在代码的那部分中)。
有办法解决吗? 我的第一个猜测是做这样的事情:
if (jsonString.startsWith("[")) {
r = new JSONArray(jsonString);
} else {
r = new JSONObject(jsonString);
}
但这感觉有点“骇人听闻”。
JSONTokener的 instanceof
怎么样 ?
Object unknownJSON = new JSONTokener(data).nextValue();
if (unknownJSON instanceof JSONObject)
// well, you know
else if (unknownJSON instanceof JSONArray)
// you should also know
非常骇人,但您可以尝试
try {
JSONObject object = new JSONObject(jsonString);
// u received a json object
} catch (JSONException e) {
// you received a json array
JSONArray array = new JSONArray(jsonString);
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.