【问题标题】:Issue in converting String to JSONArray/JSONObject将字符串转换为 JSONArray/JSONObject 的问题
【发布时间】:2015-10-08 04:35:52
【问题描述】:

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

Object obj = "{} testing"

我正在检查以下代码:

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

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

【问题讨论】:

标签: java org.json


【解决方案1】:

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

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

您可以使用以下方法测试字符串是否为有效 JSON: How to check whether a given string is valid JSON in Java 但我假设你已经找到了,查看类似的代码。


编辑

这个函数在给定obj = "{} testing";时返回false

public boolean isJSONObject(Object obj) {
    if(obj instanceof JSONObject){
        return true;
    }
    return false;
}

【讨论】:

  • 我添加了一段代码,它实际上使用instanceof为您的问题返回了正确的值。
【解决方案2】:

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-10-05
    • 2016-06-05
    • 2019-11-01
    • 1970-01-01
    • 2015-02-16
    • 2017-04-14
    • 1970-01-01
    相关资源
    最近更新 更多