springMVC controller中封装json参数特殊字符被转译了

青青韭菜 2014-07-03 02:29:07
//向服务器端发送请求的方法
function doRequest(successCallback, errorCallback, url) {
var name = $("#input1").val();
var value = {"name":name};
try {
var paramsInner = {
url : url,
type : 'post',
dataType : 'text',
timeout : 60000,
success : function(data) {
if (data.success == true) {
successCallback(data);
} else {
errorCallback(data);
}
},
error : function(xhr, textStatus, errorThrown) {
var err = {
'result_code' : 1,
'error_code' : 1,
'error' : errorThrown
};
errorCallback(err);
},
data : {"user":JSON.stringify(value)}
};

/* paramsInner.data = params; */

$.ajax(paramsInner);


以上是页面ajax提交的请求,
public @ResponseBody
Map<String, Object> add(@RequestParam("user") String user) {
User user3 = JSON.parseObject(user, User.class);
User user1 = new User(1, "招财猫", 16);
User user2 = new User(2, "大脸猫", 26);
List<User> users = new ArrayList<User>();
users.add(user1);
users.add(user2);
Map<String, Object> dataMap = new HashMap<String, Object>();
dataMap.put("success", true);
dataMap.put("users", users);
return dataMap;
}

以上是controller接收方法 打印接收到的user json字符串出现以下怪异状况:
{" name ":" jason "}
而不是{"name":"jason"}
双引号被转译了。。。。。。。。。。。。。。。有没有高手遇见过类似情况?
...全文
5961 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
祈风11 2015-09-24
  • 打赏
  • 举报
回复
你好LZ,今天我也碰到类似问题了,我的jsonString中,冒号和引号被转译成中文的冒号和引号。。。请问LZ你找到哪边的拦截器了么?
青青韭菜 2014-07-03
  • 打赏
  • 举报
回复
而且刚才试验了,直接form表单提交过来的,也被转译了。
青青韭菜 2014-07-03
  • 打赏
  • 举报
回复
引用 4 楼 suciver 的回复:
楼主先用firebug看下网络,发出去的内容是否正确,网络发出去没问题,那就是服务端的问题了
使用firebug查看过了,发送的内容正常 在服务端request.getp这种方式获取的数据没有问题,一旦用参数封装或者对象封装就被转译了。
青青韭菜 2014-07-03
  • 打赏
  • 举报
回复
引用 3 楼 whos2002110 的回复:
为什么要这样用呢? 你直接 data : {name : name}; 这样spring mvc自动就把name 赋值到User user对象的name下面了呀? 怎么还封装json串,然后再反序列化出一User对象呢?
您的这种方式也试验过了 封装的对象里面的数据特殊字符也被转译了。
suciver 2014-07-03
  • 打赏
  • 举报
回复
楼主先用firebug看下网络,发出去的内容是否正确,网络发出去没问题,那就是服务端的问题了
whos2002110 2014-07-03
  • 打赏
  • 举报
回复
为什么要这样用呢? 你直接 data : {name : name}; 这样spring mvc自动就把name 赋值到User user对象的name下面了呀? 怎么还封装json串,然后再反序列化出一User对象呢?
青青韭菜 2014-07-03
  • 打赏
  • 举报
回复
引用 1 楼 fangmingshijie 的回复:
dataType : 'text',改为dataType : 'json',
dataType是用来指定ajax获取数据的数据格式吧? 会影响数据的提交吗?
  • 打赏
  • 举报
回复
dataType : 'text',改为dataType : 'json',

67,513

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧