【发布时间】:2013-10-29 03:42:05
【问题描述】:
我正在处理一些 JSON 数据,但我不知道我会收到什么。例如,对于键“TestKey”,我可能会得到一个值“MyValue”,就像我得到一个值 12345 或 10/10/2005。
在 Java 中是否有一种简单的方法来确定一般归类为“对象”的事物的类型?
我只是希望能够将它分成 int、double、date、string 等组。而且我确信有一种比使用正则表达式查看它更经典的方法。
谢谢
【问题讨论】:
-
你在使用 JSON 库吗?
-
没有。老实说,这不是一个真正的 JSON 问题......我只是想知道如何给定一个对象,我可以询问它以确定它是哪种类型。
-
在被解析之前,它们都是
String类型,通常由经过审查的 JSON 库解析。 -
我认为这是不可能的。如果您知道可能的目标对象类型,您可以使用
instanceof;但是,您尝试做的事情可能无法实现。 -
Java 中的所有对象都隐式扩展了
Object类。在处理 JSON 时,您收到的数据将是字符串的形式。作为程序员,您可以决定哪些数据类型与哪些键相关联。如果确实需要歧义(即值可能是字符串、整数或其他格式),我建议使用正则表达式或类似以下内容:Integer.class.isInstance(yourValue)。
标签: java json types instanceof