Десериализовать массив на основе полиморфного JSON в Джексоне - PullRequest
1 голос
/ 12 марта 2019

У меня есть массив json, который содержит дочерние объекты:

[
  ["t", 1, 2, 3],
  ["o", "a", "b"]
]

Где «t» и «o» - ключи, а другие элементы в массиве - значения данных.И я хочу десериализовать этот массив для классов, используя эти модели

@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.WRAPPER_ARRAY)
@JsonSubTypes(
    JsonSubTypes.Type(value = T::class, name = "t"),
    JsonSubTypes.Type(value = O::class, name = "o")
)
@JsonFormat(shape = JsonFormat.Shape.ARRAY)
sealed class A

data class T(val x: Int, val y: Int, val z: Int) : A()
data class O(val a: String, val b: String) : A()

Когда я делаю

println(json.writeValueAsString(T(1, 2, 3)))

Я получаю

[ "t", [ 1, 2, 3 ] ]

Как сгладить вложенный массив ввнешний массив?

Фактический: ["t", [ 1, 2, 3 ]]

Ожидаемый: ["t", 1, 2, 3]

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...