Gson: пропустить уровень узла для сериализации - PullRequest
3 голосов
/ 15 марта 2020

У меня есть json, который содержит поля с пользовательскими именами, например:

{
   "user_id": 123,
   "user_name": "John",
   "field_with_custom_name_1": "value1",
   "field_with_custom_name_2": "value2",
   "field_with_custom_name_3": "value3"
}

Для описания этого json была создана следующая модель:

public class UserData {

   @SerializedName("user_id")
   private int userId;

   @SerializedName("user_name")
   private String userName;

   private Map<String, String> customFields;
}

Но после у нас есть сериализация json со следующей структурой:

{
   "user_id": 123,
   "user_name": "John",
   "customFields": {
      "field_with_custom_name_1": "value1",
      "field_with_custom_name_2": "value2",
      "field_with_custom_name_3": "value3"
   }
}

Можете ли вы предложить, как игнорировать уровень "customFields" в результате?

1 Ответ

0 голосов
/ 15 марта 2020

Вы можете использовать следующую аннотацию для исключения поля из сериализации и десериализации:

@Expose (serialize = false, deserialize = false)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...