获取Java中JSON元素的数据类型

时间:2019-03-14 09:33:55

标签: java arrays json parsing primitive-types

我从Kafka队列中获取JSON值,并且想要获取正确的数据类型以将其保存在数据库中。

值可以是:Stringintdouble或数组。

如何自动检测正确的数据类型并从中创建Java对象?

我的第一步:

检查json是否为数组:

if (jsonValue.isJsonPrimitive()) {

     // create new Object
     //ToDo need to parse int, double not only to string
      new ValueObject(time,jsonValue.getAsString);

    } else if (jsonValue.isJsonArray()) {

     //create new Object
     //ToDo need to parse int, double string
     new ValueObject(time,jsonValue.getAsJsonArray());
}

如何设计ValueObject类将值转换为相应的数据类型并返回正确的对象?

感谢任何想法

1 个答案:

答案 0 :(得分:0)

您尝试过吗:

//this instanciates an object of the getClass() method output
Object output = jsonValue.getClass().cast(jsonValue);

如果这不起作用,您可以尝试instanceof

if(jsonValue instanceof int){
    int output = (int) jsonValue;
}...

我希望那样做。