没有用于返回类型JSONObject的Converter

时间:2016-09-09 14:27:21

标签: java spring-mvc jsonobject

我正在使用spring mvc,这是我的服务。

 @RequestMapping(value="/data/{id}",method=RequestMethod.POST)
    @ResponseBody
    public JSONObject data(@PathVariable Long id ,@RequestBody Long Intake ) {
        JSONObject obj = new JSONObject();
        obj.put("test", false);
            System.out.equals(obj);
            return obj;
    }

并将错误抛出为:

  java.lang.IllegalArgumentException: No converter found for return value of type: class org.json.JSONObject

我检查了很多指向我的链接,可能是getter / setter丢失或者@ResponseBody注释丢失。所以我运行这段代码而不需要getter / setter,但仍然向我显示这个错误。

我也导入了这种依赖。

import org.json.*;

对此问题的任何想法??

1 个答案:

答案 0 :(得分:0)

1 - 尝试在项目中添加jackson(如果尚未声明)。

<dependency>
    <groupId>com.fasterxml.jackson.core</groupId>
    <artifactId>jackson-databind</artifactId>
    <version>2.5.0</version>
</dependency>

或2 - 使用ObjectMapper序列化返回String。

@RequestMapping(value="/data/{id}",method=RequestMethod.POST)
@ResponseBody
public String data(@PathVariable Long id ,@RequestBody Long Intake ) {
    ObjectMapper obj = new ObjectMapper();

    Map<String, Object> map =  new HashMap<>();
    map.put("test", false);

    return obj.writeValueAsString(map);
}