/ / Картографування Джексона: Десеріалізація JSON з різними назвами властивостей - java, json, json-deserialization

Відображення Джексона: Десеріалізація JSON з різними назвами властивостей - java, json, json-deserialization

У мене є сервер, який повертає рядок json:

{"pId": "ChIJ2Vn0h5wOlR4RsOSteUYYM6g"}

Тепер я можу використовувати Джексона, щоб десеріалізувати його в об'єкт зі змінною під назвою pId, але я не хочу, щоб змінну називали pId, я б краще десеріалізувати її до placeId.

Поточний об’єкт в android java:

public class Place {

private String pId;

}

Як я хочу, щоб об’єкт виглядав так:

public class Place {

private String placeId;

}

Якщо я зміню змінну об'єкта на placeId, jackson не зможе деріаріалізувати JSON, оскільки імена властивостей більше не відповідають.

Чи є анотація Джексона, яку я можу використовувати для зіставлення змінної "placeId" в об'єкті java на змінну рядка JSON "pId", повернуту назад із сервера?

Відповіді:

7 для відповіді № 1

Використовуйте @JsonProperty анотація:

public class Place {

@JsonProperty("pId")
private String placeId;

}

Для отримання додаткової інформації ви можете ознайомитись із пов'язаними javadoc.