Я работаю над проектом Spring-boot, где я получаю другой формат Json String. Моя цель - преобразовать эти строки Json в класс Unified Java.
Я могу получить много вариантов этого Json:
{ "id" : "someId", "type" : "temperature", "value" : 21.0 }
Например, один вариант может выглядеть следующим образом:
{ "id" : "someId", "data" : { "type": "temp", "val" : 21.0 }, "location": "here" }
Так что эти 2 Json должны быть отображены в один и тот же класс Java.
У меня уже есть 2 решения:
Первое решение
1) Создайте определенный класс Java для каждого Json, который я могу получить
2) Создайте функцию, которая принимает этот конкретный объект и возвращает Unified Java Class
Второй раствор
1) Создать JsonNode со строкой Json
2) Для каждого ключа попытайтесь сопоставить его с полем Unified Java Class.
Но мы должны принять во внимание все возможные ключи узла, такие как «value» или «val».
Как лучше всего решить эту проблему?
Я ищу решение, которое можно было бы легко поддерживать.
Редактировать : Я уже использую Джексона, но моя проблема состоит в том, чтобы отобразить этот объект Json в универсальный класс Java независимо от Json
Редактировать 2 : Unified Java Class - это модель класса, которая уже существует и используется для хранения информации в нашей базе данных. Поэтому, чтобы поместить информацию в нашу базу данных, я должен преобразовать каждый полученный json в этот унифицированный формат