Получить тип данных элемента JSON в Java - PullRequest
0 голосов
/ 14 марта 2019

Я получаю значение JSON из очереди Kafka и хочу получить правильный тип данных для сохранения его в БД.

Значение может быть: String, int, double или массив.

Как я могу автоматически определить правильный тип данных и создать из него 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 голосов
/ 14 марта 2019

пытались ли вы:

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

, если это не сработало, вы можете попробовать instanceof:

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

Надеюсь, что подойдет.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...