我有一些 JSON 可以保存两个映射数组的数组,或者只是映射(我知道这看起来很愚蠢)。我无法确定 ArrayOrMap 类应该是什么样子才能反序列化这个结构。
{
"example": [
[
{
"key1": "value1"
},
{
"key2": "value2"
}
],
{
"key3": "value3"
}
]
}
我正在尝试使用 ObjectMapper 和 Jackson 的 @JsonCreator 注释反序列化:
@Getter
static class StackOverflowExample {
private final ArrayOrMap[] example;
@JsonCreator
StackOverflowExample (
@JsonProperty("example") ArrayOrMap[] example,
) {
this.example = example;
}
}
@Getter
static class ArrayOrMap {
???
}
...
// code that attempts to deserialise
final StackOverflowExample result = objectMapper.readValue(
data,
StackOverflowExample.class
);
我正在尝试将 JSON 反序列化为一个对象数组,每个对象可以是一个映射数组,也可以只是一个映射,但我不知道 ArrayOrMap 的类应该是什么样的。似乎对象反序列化总是需要某种键,但这里我只是反序列化一个对象数组,所以我没有要查看的键。
我知道这个 JSON 的结构一开始很糟糕,但现在改变它需要付出很大的努力。
感谢任何帮助,谢谢!