最近在开发中遇到了一个问题,就是在调用action时,返回的json字符串前面会有一个null字符,导致前端解析json的时候会出现错误。经过分析,这是因为后台在返回json时,没有将null值转化为空字符串,而是直接返回了null,从而导致前端解析json时出现错误。
// 后台返回的json串 null{"code":0,"msg":"成功","data":[]}
解决方法有两种:
1. 在后台代码中,当要返回json串时,将null值转化为空字符串,即:
// 将null转化为空字符串 String resultJson = StringUtils.replace(resultStr,"null",""); // 将转化后的json串返回 return new JsonResult(true,resultJson);
2. 在前端解析json时,先判断返回的json串是否存在null字符,如果存在,则将其替换成空字符串,再进行解析,即:
if (resultStr.indexOf("null") > -1) { resultStr = StringUtils.replace(resultStr,""); } $.parseJSON(resultStr);
经过以上处理,就可以成功地解析从后台返回的json字符串了。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。