【发布时间】:2018-06-02 01:53:22
【问题描述】:
在我的应用中,当用户请求模型列表(SheetItem)时,服务会查询数据库并将结果返回给控制器
这是我的模特:
public class SheetItem
{
private long id;
private String name;
.. getters and setters and constructor
}
这是服务代码:
public List<SheetItem> listSheets(int pageNumber) {
Query query= em.createQuery("select id,name from SheetItem");
query.setFirstResult(pageNumber*10);
query.setMaxResults(10);
return query.getResultList();
}
这是控制器:
@GetMapping("/list")
public @ResponseBody List<SheetItem> getAllSheets(@RequestParam("page") int pageNum){
List<SheetItem> realList = sheetServices.listSheets(pageNum);
return realList;
}
问题是返回给用户的数据不是 JSON 格式的(即使有“Content-Type:application/json;charset=UTF-8”自动生成的标头)。 输出是:
[
[
1,
"my first sheet"
],
[
2,
"my second sheet"
]
]
在调试代码的时候,注意到返回的List的成员类型是Object:
如何将格式转换为 JSON?
【问题讨论】: