gpt4 book ai didi

java - 泽西编码成员名单问题

转载 作者:搜寻专家 更新时间:2023-11-01 03:26:37 24 4
gpt4 key购买 nike

我正在使用 Java Jersey 1.x 来编码一个具有多个成员的对象,其中一个是列表。所有成员变量都被正确编码并以正确的返回类型返回。但是,它不在返回数据中包含 objectList

例子:

@XmlRootElement
public class ClassWithList {
private String front;
private int total;
private ArrayList<AnotherPOJOObject> objectList;
...
getters/setters

setter/getter :

public List<AnotherPOJOObject> getObjectList() {
return objectList;
}

我调试了它并检查了 objectList 确实填充了数据。 AnotherPOJOObject 也被注释为 XmlRootElement

最佳答案

看看http://docs.oracle.com/javase/6/docs/api/javax/xml/bind/annotation/XmlAccessorType.html .它详细说明了 JAXB 将如何尝试序列化 POJO。特别要注意,它默认仅适用于公共(public)成员——这意味着“每个公共(public) getter/setter 对和每个公共(public)字段都将自动绑定(bind)到 XML,除非由 XmlTransient 注释”。在这种情况下,我猜测您没有 objectList 的公共(public) setter 字段,因此 JAXB 不会序列化它。要获取要序列化的列表,您可以:

  • 为 objectList 添加一个公共(public) setter 方法
  • 将 objectList 声明为公共(public)(可能不是一个好主意)
  • 向 getter 添加一个 @XmlElement 注释,以明确告诉 JAXB 将列表编码为 XML。

关于java - 泽西编码成员名单问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12427944/

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