在返回JSONObject

时间:2018-11-13 05:30:28

标签: json spring-boot org.json

我正在将项目从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。)

我该如何解决? 谢谢。

1 个答案:

答案 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;
   }
}