gpt4 book ai didi

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

转载 作者:太空宇宙 更新时间:2023-11-04 07:24:42 26 4
gpt4 key购买 nike

Jersey 默认将单个元素转换为对象。但客户端期望json中的数据是arraylist

模型类是 LocationDetails

public class LocationDetails {
private String locationAccount;
private String locationName;
private String locationStreet;
private String locationPostcode;
}

其他类 LocationData,其 LocationDetails 的数组列表为

@XmlRootElement
@XmlAccessorType(XmlAccessType.FIELD)
public class LocationData {
private ArrayList<LocationDetails> Locations;
}

Controller 类使用以下代码转换为 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"}]}

因为客户端希望数据位于列表内。

如何在不改变整个逻辑的情况下转换类型。我使用的是jersey。

最佳答案

@XmlElementWrapper注释添加到您的List中,这应该可以解决问题。如果您对 Jersey 有其他问题,请先尝试 XML 输出以查看生成的内容。如果 XML 可以,JSON 也可以。

@XmlElement(name="locationDetail")
@XmlElementWrapper(name="locationDetails")
private List<LocationDetail> locationDetails;

请以第一个小写字母命名您的类属性。

关于java - 如何使用 jersey 将单个元素转换为 arraylist 并将格式转换为 json?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18735543/

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