Gson добавляет поля «root», «entrySet», «values» после десериализации - PullRequest
0 голосов
/ 10 апреля 2019

У меня есть следующая строка JSON:

[
  {
    "id": 23425,
    "mailboxGroupId": 6659,
    "statusCode": "ACTIVE"
  },
  {
    "id": 23425,
    "groupId": 6659,
    "statusCode": "INACTIVE"
  }
]

Я хочу десериализовать его в список из двух объектов класса данных Kotlin:

val myList: List<Foo> = Gson().fromJson(response, ArrayList<Foo>().javaClass)

Далее мне нужно сравнить с AssertJ эти два объекта и утверждать, что все поля, кроме statusCode, равны:

assertThat(myList.first()).isEqualToIgnoringGivenFields(myList.last(), "statusCode")

Но когда я запускаю тест, я получаю ошибку подтверждения:

Expecting values:
<.....>
in fields:
  <["root", "entrySet", "values"]>

Похоже, Gson добавляет "root", "entrySet", "values" во время десериализации, но я не могу понять, как я могу исключить их?

Или мне не нужно исключать их, а просто нужно изменить мое утверждение?

...