gpt4 book ai didi

java - Jackson 在数组内反序列化数组

转载 作者:行者123 更新时间:2023-12-02 01:13:57 25 4
gpt4 key购买 nike

我的 Json 响应为

"Test1": {
"Test2": [
[
0,
"US TV",
[]
]
]
}

我创建了一个 Test2 类,例如

    @JsonProperty("Test2")
@JsonFormat(with = JsonFormat.Feature.ACCEPT_SINGLE_VALUE_AS_ARRAY)
Test2[] arrayObjects;

并且不确定如何在 Test2 类中给出 [],有人可以建议如何在 Java 中为提到的 Json 响应创建 Pojo 吗?

最佳答案

像这样声明字段:

@JsonProperty("Test2")
Object[][] test2;

或者像这样:

@JsonProperty("Test2")
List<List<Object>> test2;

类型为Object因为内部数组包含数字、字符串和数组的混合。

字段的名称并不重要,因为您有 @JsonProperty将其命名为 JSON。

您当然也可以这样做List<Object[]>List<Object>[] ,但这些看起来有点奇怪。

<小时/>

更新:证明上述代码有效:

<强> Foo.java

@JsonRootName("Test1")
class Foo {
@JsonProperty("Test2")
List<List<Object>> bar;

public static void main(String[] args) throws Exception {
Foo foo = new ObjectMapper()
.configure(DeserializationFeature.UNWRAP_ROOT_VALUE, true)
.readValue(new File("test.json"), Foo.class);
System.out.println(foo.bar);
}
}

<强> test.json

{
"Test1": {
"Test2": [
[
0,
"US TV",
[]
]
]
}
}

输出

[[0, US TV, []]]

关于java - Jackson 在数组内反序列化数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58939383/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com