0

我必须检查给定的值是否为 JSONObject.... 示例输入:

Object obj = "{} testing"

我正在检查以下代码:

public boolean isJSONValid(Object obj) {
 try {
   new JSONObject(obj);
 } catch(JSONException e) {
   return false;
 }
 return true;
}

但是对于上面的输入,它是真实的,我正在使用 org.json jar 文件。

4

2 回答 2

1

要检查对象是否为 JSONObject,请使用instanceof.

if(obj instanceof JSONObject){
  //your code here
}

您可以使用以下方法测试字符串是否为有效 JSON: 如何在 Java 中检查给定字符串是否为有效 JSON 但我假设您已经找到了,查看类似的代码。


编辑

此函数在给定时返回 falseobj = "{} testing";

public boolean isJSONObject(Object obj) {
    if(obj instanceof JSONObject){
        return true;
    }
    return false;
}
于 2015-10-07T14:16:07.000 回答
0

创建后可以将“new JSONOBJECT(obj)”打印到字符串吗?我认为当您将标准对象传递给构造函数时,它正在使用反射将该标准对象转换为 JSON 对象。参考这个问题的答案。它展示了如何检查一个对象是否是 JSONObject 的一个实例。

于 2015-10-07T14:15:51.460 回答