如何确定JSON属性的数据类型?

时间:2013-04-18 14:39:21

标签: java json

在Java中,我知道您可以检查isNull()方法是否存在密钥。有没有办法检查密钥包含哪种数据?

请考虑以下示例。

我想要一个像JSONBody.getDataType(“key”)这样的函数,它会返回String

{
    "key" : "value"
}

我想要一个像JSONBody.getDataType(“key”)这样的函数,它会返回JSONObject

{
    "key" : { 
        "parm1" : "value1",
        "parm2" : "value2"
    }
}

我想要一个像JSONBody.getDataType(“key”)这样的函数,它会返回JSONArray

{
    "key" : [
        "value1",
        "value2",
        "value3"
    ]
}

我想要一个像JSONBody.getDataType(“key”)这样的函数,它会返回布尔值

{
    "key" : true
}

这样的事情是否存在?

1 个答案:

答案 0 :(得分:7)

JSONObject stuff = new JSONObject(whatever);
Object thing = stuff.get("key");
String classNameOfThing = thing.getClass().getName();
Systen.out.println("thing is a " + classNameOfThing);
if (thing instanceof Integer) {
    System.out.println("thing is an Integer");
}