我将从服务器接收JSON对象或数组,但是我不知道它将是什么。我需要使用JSON,但是要这样做,我需要知道它是对象还是数组。我正在使用Android。有人有这样做的好方法吗?
3 回答
千巷猫影
TA贡献1829条经验 获得超7个赞
您可以通过以下几种方法执行此操作:
您可以在String的第一个位置检查字符(修剪掉空格后,因为有效JSON允许使用该字符)。如果是a
{
,则表示正在处理aJSONObject
,如果是a[
,则表示正在处理JSONArray
。如果您正在处理JSON(一个
Object
),则可以进行instanceof
检查。yourObject instanceof JSONObject
。如果yourObject是JSONObject,则返回true。JSONArray也是如此。
回首忆惘然
TA贡献1847条经验 获得超11个赞
这是我在Android上使用的简单解决方案:
JSONObject json = new JSONObject(jsonString);
if (json.has("data")) {
JSONObject dataObject = json.optJSONObject("data");
if (dataObject != null) {
//Do things with object.
} else {
JSONArray array = json.optJSONArray("data");
//Do things with array
}
} else {
// Do nothing or throw exception if "data" is a mandatory field
}
- 3 回答
- 0 关注
- 1083 浏览
添加回答
举报
0/150
提交
取消