【问题标题】:How to Query an Object returned by JSONObject's get() method for its data type?如何查询 JSONObject 的 get() 方法返回的对象的数据类型?
【发布时间】:2014-03-21 12:33:42
【问题描述】:

JSONObject 的 JavaDoc 声明:

通用 get() 和 opt() 方法返回一个对象,您可以转换或查询类型。

编辑 - 我希望 JSON 库中有一个方法可以为我做这件事,这样我就不必重新发明轮子了。

除了:

Object o = jsonObject.get(0);
String className = o.getClassName();
if (className.equals("JSONObject")) {
    //...
} else if (className.equals("JSONArray")) {
    //...
} else if (className.equals("Boolean")) {
    //...
} else if (className.equals("Number")) {
    //...
} else if (className.equals("String")) {
    //...
} else if (className.equals("Null")) {
   // ...
}

如何查询返回的对象的类型?

(我使用的是 Java 1.6,不希望在此示例中使用常量作为 switch 语句)

【问题讨论】:

  • 嗯,有instanceof

标签: java json jsonobject


【解决方案1】:

你不能得到类型对象,就像你正在做的那样。我建议您查看下一个链接:

How to check type of variable in Java?

How to determine the primitive type of a primitive variable?

【讨论】:

  • 感谢用户,但我不想使用instanceofobj.getClassName(),或者定义我自己的重载方法来返回types。我提出这个问题是为了询问 Json 库中是否有一种方法可以为我做到这一点,所以我不必重新发明轮子。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-07-05
  • 1970-01-01
  • 2012-12-13
  • 2012-05-04
  • 2015-12-15
  • 1970-01-01
相关资源
最近更新 更多