gpt4 book ai didi

java - Jackson:用一个数组字段序列化/反序列化对象

转载 作者:行者123 更新时间:2023-11-30 12:02:07 25 4
gpt4 key购买 nike

我有以下类(class):

public class Foo {

private Bar[] bars;

@JsonCreator
public Foo(Bar[] bars) {
this.bars = bar;
}
}

我希望序列化的 json 看起来像这样:

[
{
"x": 1,
"b": "b1"
},
{
"x": 2,
"b": "b2"
}
]

此数组中的每个元素都是一个 Bar。我尝试放置 @JsonFormat(shape=JsonFormat.Shape.ARRAY) 但随后序列化的 json 以 [[ 开头,这可能是有道理的,因为整个对象然后变成数组。

编写自定义序列化器是这里唯一的方法吗?

最佳答案

例如,如果您有一个返回 Bar[] 数组而不是包装该数组的 Foo 对象的 Controller 方法,您将得到这样的响应:

@GetMapping("test")
public Test[] test() {
return new Test[] { new Test(), new Test() };
}

响应:

[
{
"x": 1,
"b": "b1"
},
{
"x": 2,
"b": "b2"
}
]

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

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