簡體   English   中英

從spring控制器返回json數組

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM