gpt4 book ai didi

java - JAX-RS 自动将 List 编码为 JSON
转载 作者:行者123 更新时间:2023-12-01 13:40:47 25 4
gpt4 key购买 nike

我正在使用 Glassfish 3,它使用 JAX-RS 的 Jersey 实现。我有以下方法 REST 端点:

@GET
@Produces(MediaType.APPLICATION_JSON)
public List<CourseDTO> listAll() {

List<CourseDTO> list = findAll();


return list;
}

我的 CourseDTO 如下:

@XmlRootElement
public class CourseDTO implements Serializable {


private long courseId;
private String courseName;


public CourseDTO() {

}
//getters setters
}

我返回的 JSON 对象如下:

  {
"courseDTO":
[
{"courseId":"1","courseName":"C++"},
{"courseId":"2","courseName":"Java"}
]
}

但是,理想情况下我想要以下内容:

[
{"courseId":"1","courseName":"C++"},
{"courseId":"2","courseName":"Java"}
]

所以基本上我想摆脱“包装”对象。有什么办法可以做到这一点还是我应该进行手动编码?

最佳答案

尝试使用 Google Gson 库。代码很简单:

Type listType = new TypeToken<ArrayList<CourseDTO >>() {
}.getType();
List<CourseDTO > courses = new Gson().fromJson(jsonArray, listType);

关于java - JAX-RS 自动将 List<Object> 编码为 JSON,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20806122/

25 4 0