Карта из JSON в Java-объект с другой структурой

1

У меня есть строка JSON, представляющая объект, и я хочу поместить ее информацию в объект Java B с другой структурой. В настоящее время решение, которое я принимаю, создает Java-объект A со структурой, идентичной объекту JSON, сделав преобразование из JSON в A с помощью Jackson и позже, сделал сопоставление от A до B используя Dozer с XML-сопоставлениями. Нужно ли вообще избегать наличия объектов A?

Короче говоря, в настоящее время у меня есть следующее:

JSON--Jackson-->A--Dozer(XML mappings)-->B

и я хотел бы добиться этого

JSON--???-->B
  • 4
    это зависит от структуры Json и B. Если вы разместите Json и B java классы - вам будет проще помочь
Теги:
jackson
mapping
dozer

1 ответ

1
Лучший ответ

Вы уже знаете об этом, но Джексон может использовать такие типы структуры, как Map, или JsonNode качестве цели, поэтому вы можете сделать, скажем:

JsonNode root = mapper.readTree(jsonSource); Map<String,Object> asMap = mapper.readValue(jsonSource, Map.class);

а затем построить свой B Джексон имеет только ограниченное количество структурных преобразований (простое развертывание) по дизайну, хотя существует обширный набор скалярных преобразований (неструктурные преобразования), поэтому, если вам понадобятся структурные изменения, может иметь смысл использовать библиотеку, которая ориентирована на структурные изменения.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню