【发布时间】:2013-09-11 07:51:22
【问题描述】:
Jersey 默认将返回的单个元素转换为 object 。但是客户端期望json中的数据是arraylist
模型类是 LocationDetails
public class LocationDetails {
private String locationAccount;
private String locationName;
private String locationStreet;
private String locationPostcode;
}
具有 LocationDetails 数组列表的其他类 LocationData
@XmlRootElement
@XmlAccessorType(XmlAccessType.FIELD)
public class LocationData {
private ArrayList<LocationDetails> Locations;
}
并且控制器类正在使用以下代码转换为 JSON:
//Getting location and item along with barcodes
@POST
@Path("/getLocationAndItemData")
@Produces(MediaType.APPLICATION_JSON)
public LocationResponse getAlllocations(){
ArrayList<LocationDetails> locationDetailList = new ArrayList<LocationDetails>();
LocationDetails details = new LocationDetails();
//setting location account
details.setLocationAccount("10125");
locationDetailList.add(details);
}
以下代码返回 json 为 LocationData : {LocationDetails : {"LocationAccount","10125"}}
而我希望它是这样的:
LocationData : {LocationDetails : [{"LocationAccount","10125"}]}
因为客户端期望数据在列表中。
如何在不改变整个逻辑的情况下转换类型。我正在使用球衣。
【问题讨论】:
标签: java json arraylist jersey