如何在Spring中返回JSONObject而不出现406错误



我正在学习使用Spring,使用Spring引导。

我想从控制器返回一个JSONObject,但它总是返回406。

我导入了一个org.json.JSONObject创建一个JSONObject。

代码:

@RequestMapping(value = "/json", method = RequestMethod.GET, produces = MediaType.APPLICATION_JSON_VALUE)
@ResponseBody   
public Object testJsonCall(){
    JSONObject reply = new JSONObject();
    reply.put("status","success");
    reply.put("foo", "bar");
    return reply;
}

谢谢你的帮助。

谢谢大家。现在我找到了一个解决方案。

最初,我尝试添加jackson核心和jackson内核asl,但没有成功。Wierdly,我刚刚在返回中添加了toString,它正在工作!

@RequestMapping(value = "/json", method = RequestMethod.GET, produces = MediaType.APPLICATION_JSON_VALUE)
@ResponseBody   
public Object testJsonCall(){
    JSONObject reply = new JSONObject();
    reply.put("status","success");
    reply.put("foo", "bar");
    return reply.toString();  //here I added toString()
}

您需要将以下jar添加到pom.xml中。

<dependency> <groupId>com.fasterxml.jackson.core</groupId> <artifactId>jackson-core</artifactId> <version>2.4.1</version> </dependency> <dependency> <groupId>com.fasterxml.jackson.core</groupId> <artifactId>jackson-databind</artifactId> <version>2.4.1.1</version> </dependency>
<dependency> <groupId>org.codehaus.jackson</groupId> <artifactId>jackson-core-asl</artifactId> <version>1.9.13</version> </dependency> <dependency> <groupId>org.codehaus.jackson</groupId> <artifactId>jackson-mapper-asl</artifactId> <version>1.9.13</version> </dependency>

相关内容

最新更新