【问题标题】:JAX-RS Auto marshalling List<Object> to JSONJAX-RS 自动编组列表<对象> 到 JSON
【发布时间】:2013-12-27 18:48:34
【问题描述】:

我正在使用 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"}
]

所以基本上我想摆脱“包装”对象。有什么办法吗?还是我必须手动编组?

【问题讨论】:

标签: java json rest


【解决方案1】:

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-07-01
    • 1970-01-01
    相关资源
    最近更新 更多