1. 问题:SpringMVC在使用JSON时出现Error: Content type 'application/json;charset=UTF-8' not supported和Required request body is missing。这个问题是在SSM框架中测试json出现的。
(1)请求json串,输出json中的JS中的代码和Java代码
$.ajax({
type:'post',
url:'${pageContext.request.contextPath }/requestJson.action',
contentType:'application/json;charset=utf-8',
data:'{"name":"手机","price":999}',
success:function(data){//返回json结果
alert(data);
}
});
Java中的代码
@RequestMapping("/requestJson")
public @ResponseBody ItemsCustom requestJson(@RequestBody ItemsCustom itemsCustom) {
return itemsCustom;
}
(2)请求(key/value),
输出json中的
JS中的代码和Java代码
$.ajax({
type:'post',
url:'${pageContext.request.contextPath }/responseJson.action',
data:'name=手机&price=999',
success:function(data){//返回json结果
alert(data.name);});
Java代码
@RequestMapping("/responseJson")
public @ResponseBody ItemsCustom responseJson(ItemsCustom itemsCustom) {
return itemsCustom;
}
2. 之前使用的jar包是:jackson-core-asl-1.9.11.jar和jackson-mapper-asl-1.9.11.jar,
报Content type 'application/json;charset=UTF-8' not supported错误
后来改用下载最新的jackson-core-2.9.3.jar和jackson-mapper-asl-1.9.13.jar,还是报同样的错误,后来搜集到一些信息,将jackson-databind-2.9.3.jar和jackson-annotations-2.9.3.jar也都加了进去,最后就都可以了。