gpt4 book ai didi

java - 如何让 Jersey/Jackson 序列化空列表;单个元素列表作为数组

转载 作者:搜寻专家 更新时间:2023-11-01 01:46:33 25 4
gpt4 key购买 nike

使用 Jersey 和 Jackson 创建 REST 接口(interface),当列表字段中有 0 或 1 个元素时,如何将其序列化为列表。例如:

@XmlRootElement(name="foo")
public class Foo {
@XmlElement
public List<Bar> getBars() {
return this.bars;
}
}

@Path("foo")
public FooResource {
@GET
public Foo getFoo() {
return theFoo;
}
}

当 bars 没有元素时,结果序列化为 null,当它包含单个元素时,它序列化为该元素,而不是包含单个元素的数组。有没有办法让它们始终序列化为数组?

作为引用,我使用的是 Jersey 1.10 和 Jackson 1.9.2。

最佳答案

我很确定您实际上并没有使用 Jackson(JSON 序列化的“POJO”变体),因为 Jackson 不会将单元素数组或列表转换为其他任何内容。因此,您可能正在使用一种遗留输出方法(如 jettison);这意味着如果您将系统配置为使用 POJO 映射,它应该可以正常工作。

关于java - 如何让 Jersey/Jackson 序列化空列表;单个元素列表作为数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8214827/

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