为了账号安全,请及时绑定邮箱和手机立即绑定

确定JSON是JSONObject还是JSONArray

确定JSON是JSONObject还是JSONArray

海绵宝宝撒 2019-09-21 10:57:13
我将从服务器接收JSON对象或数组,但是我不知道它将是什么。我需要使用JSON,但是要这样做,我需要知道它是对象还是数组。我正在使用Android。有人有这样做的好方法吗?
查看完整描述

3 回答

?
千巷猫影

TA贡献1829条经验 获得超7个赞

您可以通过以下几种方法执行此操作:

  1. 您可以在String的第一个位置检查字符(修剪掉空格后,因为有效JSON允许使用该字符)。如果是a {,则表示正在处理a JSONObject,如果是a [,则表示正在处理JSONArray

  2. 如果您正在处理JSON(一个Object),则可以进行instanceof检查。 yourObject instanceof JSONObject。如果yourObject是JSONObject,则返回true。JSONArray也是如此。


查看完整回答
反对 回复 2019-09-21
?
回首忆惘然

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

}


查看完整回答
反对 回复 2019-09-21
  • 3 回答
  • 0 关注
  • 993 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信