Карта JSON Response для POJO (с разными именами) - PullRequest
2 голосов
/ 17 октября 2011

Я знаю, что существует множество постов по аналогичной проблеме, но моя, кажется, немного другая.Я читаю кучу JSON и хотел бы построить из нее POJO, но я не хочу использовать имена результатов JSON.Есть ли способ «сопоставить» имена элементов в JSON с атрибутами в моих POJO (возможно, используя gson или Джексона)?

Стоит отметить, что это приложение создается для Android.

Заранее спасибо!

Ответы [ 3 ]

2 голосов
/ 18 октября 2011

С Джексоном у вас есть несколько вариантов:

  • Используйте аннотацию @JsonProperty ("имя"), чтобы указать имя для использования в JSON, добавить непосредственно или использовать смешанные аннотации (внешние)
  • Укажите PropertyNamingStrategy для преобразования из "имени Java" в "имя JSON" (есть конвертер стиля java <-> c по умолчанию в комплекте с 1.9)
  • Изменить AnnotationIntrospector, чтобы изменить имя, используя какой-то другой механизм, кроме аннотаций
2 голосов
/ 17 октября 2011

Если вы используете Gson , вы можете добавить атрибут к вашим объектам, например так:

@SerializedName("ServicesResult")
public String services;

Где "ServicesResult" - это фактическое имя элемента в JSON.

0 голосов
/ 15 октября 2013

Джексон также будет интерпретировать базовый пакет javax.xml.bind.annotation

Если вы используете эти аннотации, вы можете легко перемещаться между Json / XML

...