JSON ajax SyntaxError: JSON.parse: unexpected character异常

JSON ajax SyntaxError: JSON.parse: unexpected character   异常

出现这个错误,说明json格式不对或者json里面的数据有字符的问题。

我出现这个问题是因为在后台取的一条数据数据,使用json进行数据封装时,实体中关联的实体进行了数据的懒加载,导致json中data的格式被破坏,缺少"[]",所以前台识别不了。虽然请求成功,并且返回了数据。但是success中没有执行。

后来看到网上说使用 $.parseJSON(data) 有一个请求是成功了。本以为另一个也会成功,结果抛出  JSON ajax SyntaxError: JSON.parse: unexpected character   异常。这就很郁闷了。

记得注释掉ajax中的​dataType: "json",

按理说。两个ajax写的几乎都一样,应该是没问题的。然后就比较了下后台方法中的封装。

找出了原因。

//jsonString = JSONUtil.getDeepJSONString(jsonData);   使用此行的话,就已经封装成了一个json数据格式吧,本人猜测。
jsonString = JSONUtil.getJSONString(jsonData);    ​此行很有可能是返回一个json格式的字符串。然后前台使用parse转一下,转成json格式的。

return jsonString;

随后,前台成功。

{"code":null,"data":{"author":"aaaaaa","class":"com.citycloud.apps.cms.entity.CmsContent","column":{"class":"com.citycloud.apps.cms.entity.CmsColumn_$$_javassist_43","colAlias":"zwxxxw","colDesc":"1","colId":123,"colName":"政闻","colProp":"1","colStatus":"1","indexTemplate":"1","url":null,"validDate":"2014-01-21 00:00:00"},"message":"查询成功","success":true,"totalCount":1}

中间的数据太长了,就干掉了一部分,这是前台没有转换前的,

Object { data={...},  message="查询成功",  success=true,  更多...}这是熟悉的控制台输出哦。说明成功了。


下面展示一下前台ajax,借以参考:

function tellUs(){
    $.ajax({
        url: baseP + '/aaaa/andAs',
//        data:{},
//        dataType:"json",
        async:false,
        success:function(data){
            var da = $.parseJSON(data);
            $("#tell").append(da.data.content);
        }
    });
}

后台的话,就上面的最后使用jsonString = JSONUtil.getJSONString(jsonData);
封装数据就好了。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值