Android 如何检查JSON数据是对象还是字符串?

Android 如何检查JSON数据是对象还是字符串?,android,json,string,object,Android,Json,String,Object,我目前正在开发一个从API中提取JSON字符串的应用程序。问题是,空间可以改变数据的提取方式 例如: 通过一个空格,JSON作为一个我需要解析以获取内容的对象出现 "d:Street1": { "-xml:space": "preserve", "#text": "123 space street " }, 没有空间,它只是在拉绳子 "d:Street1": "123 space street", 如何检查“d:Street1”是JSONObject还

我目前正在开发一个从API中提取JSON字符串的应用程序。问题是,空间可以改变数据的提取方式

例如:

通过一个空格,JSON作为一个我需要解析以获取内容的对象出现

    "d:Street1": {
      "-xml:space": "preserve",
      "#text": "123 space street "
    },
没有空间,它只是在拉绳子

"d:Street1": "123 space street",
如何检查“d:Street1”是JSONObject还是字符串

编辑:解决方案

Object street1 = jobProperties.get("d:Street1");

            if (street1 instanceof JSONObject) {
                JSONObject JobStreet11 = jobProperties.getJSONObject("d:Street1");
                jobStreet1 = JobStreet11.getString("content");
            } else {
                jobStreet1 = jobProperties.getString("d:Street1");
            }

您可以使用此条件

Object json = new JSONTokener(data).nextValue();

if (json instanceof JSONObject){

}else if (json instanceof JSONArray){

}

你所说的“一个空间可以改变数据的提取方式”是什么意思?如果你往上看,放在系统中的街道名称的唯一区别是末尾的一个空间。他们不修剪任何东西,所以它也节省了空间,作为选项1。在1号街的尽头没有一个空间,这是选项2。谢谢你。我会修改一点,但我认为这可能会起作用:)会尝试一下,如果是这样的话,会返回标记为正确。我修改了一点,但它会起作用。谢谢:)参考上面的编辑。很高兴您完成了:)如果可以,请输入您的最终代码。最终代码可以在上面的编辑中看到:)再次感谢。