2015-09-25 2 views
3

У меня есть сервер, который возвращает JSON строку:отображения Джексон: десериализации JSON с различными именами свойств

{"pId": "ChIJ2Vn0h5wOlR4RsOSteUYYM6g"} 

Теперь я могу использовать Джексон десериализацию его в объект с переменным под названием ФИД, но я не хотите, чтобы переменная называлась pId, я бы предпочел десериализовать ее в placeId.

Текущий объект в андроид Java:

public class Place { 

    private String pId; 

} 

То, что я хочу, чтобы объект выглядеть следующим образом:

public class Place { 

    private String placeId; 

} 

Если изменить переменную объекта в placeId, джексон не сможет десериализации JSON, поскольку имена свойств больше не совпадают.

Есть ли аннотации jackson? Я могу использовать для отображения переменной «placeId» в объекте java для строковой переменной JSON «pId», возвращенной с сервера?

ответ

7

Использование @JsonProperty аннотация:

public class Place { 

    @JsonProperty("pId") 
    private String placeId; 

} 

Для получения дополнительной информации вы можете увидеть связанную javadoc.

+0

Спасибо - это работает. – Simon

Смежные вопросы