fastjson自动转化参数报错


开发环境:spring-mvc4.1.7、fastjson1.2.7

问题描述:系统采用的前后端完全分离方式,前端页面使用ajax调用后台服务时,想用fastjson自动转化请求参数对象。

// 前端调用
$.ajax({   url :
"bas/test.do",   type : "POST",   async : true,   contentType : "application/json; charset=utf-8",   data : country,//外层定义的json对象   success : function(rst) {alert(JSON.stringify(rst)); }
// 后台服务
1
@ResponseBody 2 @RequestMapping(value = "/add.do", method = { RequestMethod.POST, RequestMethod.GET }, produces = "application/json;charset=UTF-8") 3 public void add(@RequestBody Country country) { 4 // ... 5 }
运行报错堆栈,如下:
严重: Servlet.service() for servlet [SpringMVC] in context with path [/mfd] threw exception [Request processing failed; nested exception is com.alibaba.fastjson.JSONException: syntax error, expect {, actual error, pos 0] with root cause com.alibaba.fastjson.JSONException: syntax error, expect {, actual error, pos 0 at com.alibaba.fastjson.parser.deserializer.JavaBeanDeserializer.deserialze(JavaBeanDeserializer.java:232)

网上搜索各种解决方案未果,最后尝试将json对象转化成json字符串,调用成功。

修改为data : JSON.stringify(country)

上一个项目使用jackson时,data参数直接传的是json对象,fastjson不支持这种方式。。。


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM