我正在将项目从springMVC迁移到springboot。控制器之一具有以这种方式返回的API。
我正在尝试返回JSONObject,
这是我的界面:
public class myController{
@RequestMapping(value = "/api", method = { RequestMethod.GET,
RequestMethod.POST })
public @ResponseBody JSONObject myfunction(HttpServletRequest request,
HttpServletResponse response);
}
我收到以下错误:
未找到类型为org.json.JSONObject的返回值的转换器
我添加了杰克逊的依赖关系。我只想返回JSONObject。我已经看到了解决方案,但是他们建议我将其转换为字符串。但是我不能这样做,因为这可能会影响我返回前端的时间(已经用jsp和jQuery编写过,并且期望使用JSONObject。)
我该如何解决? 谢谢。
答案 0 :(得分:0)
您可以使用Jackson库的ObjectNode来保持JSONObject结构引用link。为此,您必须在服务中自动连接 ObjectMapper
public class myController{
@Autowired
private ObjectMapper jacksonObjectMapper;
@GetMapping
public ObjectNode sayJSONObject() {
ObjectNode objectNode = jacksonObjectMapper.createObjectNode();
objectNode.put("key", "value");
return objectNode;
}
}