在debug后台接收的数据发现。后台接到的数据是这样的
{"timelyRateName":" 合 计","should_be":"2181","real_be":"358","undelivered_exceeded":"1231","delivered_exceeded":"101","undelivered_unexceeded":"491","rate_be":"16.02,"reportKey":"category_report"},莫名其妙少了“,多了个空格,成了这样"rate_be":"16.0 2,
果断怀疑是%的问题。于是前台做了如下处理:
var rateBeStr = rowData.rate_be;
rateBeStr = rateBeStr.substring(0,rateBeStr.length-1);
rowData.rate_be = rateBeStr+"%25";
解析完毕的json:{"timelyRateName":"合计","should_be":"2181","real_be":"358","undelivered_exceeded":"1231","delivered_exceeded":"101","undelivered_unexceeded":"491","rate_be":"16.0%","reportKey":"category_report"}
OK,问题解决!
总结:JSON.stringify()函数处理串时会做转码,在有特殊符号的时候一定要注意转换。
在java代码中,把json解析成的对象为null而不报异常,就要看看串中是不是有特殊符号了。
欢迎留言说下遇到的其他特殊符号。