[英]return json array from spring controller
我想用控制器彈簧返回一個JSONARRAY,但運行時收到此錯誤:
java.lang.IllegalArgumentException:未找到類型為org.codehaus.jettison.json.JSONArray的返回值的轉換器
這是我的代碼:
@RequestMapping(value = "/generate", method = RequestMethod.GET)
@ResponseBody
public JSONArray generate() throws NoSuchFieldException, CloneNotSupportedException{
return facturationSvc.facturer();
}
注意:服務“ facturationSvc”的方法“ facturer()”返回一個JSON ARRAY
您應該返回一個Java List,而不是JSONArray。 Spring使用Jackson,而jackson的目的是將Java對象與JsonArray之類的基本元素相互轉換,然后再轉換為Json String
您不需要直接管理json,Spring會為您完成所有操作,因此這里的解決方案是更改您的返回類型(控制器和服務的返回類型)並僅管理java對象
@RequestMapping(value = "/generate", method = RequestMethod.GET)
@ResponseBody public List<YourFacturerClass> generate() {
return facturationSvc.facturer();
}
您應該返回的字符串不是JSONArray,
String generate() throws NoSuchFieldException, CloneNotSupportedException{
return facturationSvc.facturer().toString();
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.