Java 如何使用jersey将单个元素转换为arraylist并格式化为json?
默认情况下,转换返回给对象的单个元素。但是客户端希望json中的数据是arraylist 模型类是LocationDetailsJava 如何使用jersey将单个元素转换为arraylist并格式化为json?,java,json,arraylist,jersey,Java,Json,Arraylist,Jersey,默认情况下,转换返回给对象的单个元素。但是客户端希望json中的数据是arraylist 模型类是LocationDetails public class LocationDetails { private String locationAccount; private String locationName; private String locationStreet; private String locationPostcode; } 其他类Locatio
public class LocationDetails {
private String locationAccount;
private String locationName;
private String locationStreet;
private String locationPostcode;
}
其他类LocationData,其中包含LocationDetails的arraylist,如下所示
@XmlRootElement
@XmlAccessorType(XmlAccessType.FIELD)
public class LocationData {
private ArrayList<LocationDetails> Locations;
}
因为客户端希望数据在列表中
如何在不更改整个逻辑的情况下转换类型。我正在使用jersey。将
@xmlementwrapper
注释添加到您的列表中,这应该可以解决问题。如果您在Jersey方面有进一步的问题,请尝试第一次XML输出以查看生成了什么。如果XML可以,JSON也可以
@XmlElement(name="locationDetail")
@XmlElementWrapper(name="locationDetails")
private List<LocationDetail> locationDetails;
@xmlement(name=“locationDetail”)
@XmlElementWrapper(name=“locationDetails”)
私人名单位置详情;
请同时用第一个小写字母命名类属性。将@xmlementwrapper
注释添加到列表中,这样做应该会奏效。如果您在Jersey方面有进一步的问题,请尝试第一次XML输出以查看生成了什么。如果XML可以,JSON也可以
@XmlElement(name="locationDetail")
@XmlElementWrapper(name="locationDetails")
private List<LocationDetail> locationDetails;
@xmlement(name=“locationDetail”)
@XmlElementWrapper(name=“locationDetails”)
私人名单位置详情;
请用第一个小写字母命名您的类属性。我也有同样的问题,经过多次研究,我发现问题是由于导入到MyEclipse
(持久化容器)中的jar文件造成的。我已经把它去掉了。同样的代码也适用于我。
json
格式将是[{single element}]。
我也有同样的问题,经过多次研究,我发现问题是由于导入MyEclipse
(持久化容器)中的jar文件造成的。我已经把它去掉了。同样的代码也适用于我。
json
格式将是[{single element}]。
只需在LocationData
类中添加注释即可。检查Jersey文档如何处理列表。只需在LocationData
类的private List locations
语句上方添加注释即可。查看泽西岛文档,了解如何处理列表。
@XmlElement(name="locationDetail")
@XmlElementWrapper(name="locationDetails")
private List<LocationDetail> locationDetails;