Java 如何使用jersey将单个元素转换为arraylist并格式化为json?

Java 如何使用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

默认情况下,转换返回给对象的单个元素。但是客户端希望json中的数据是arraylist

模型类是LocationDetails

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;