在项目中遇到了一个这样的问题,后台返回的字符串含有不规则字符,在Java里面能正常的序列化和反序列化,因为项目中传递过程Native-JS ,传递过来是一个String 类型的,所以使用JSON.parse(jsonStr),可是一直报错?使用eval(),依然无解,不知所措.
让我们先来看看数据格式
拿到的jsonStr拿到这个字符串,拿去解析是解析不了的,各种JSON 解析网站也是解析不了的,如图所示(想不通Java里面为什么可以正常的反序列化)
序列化错误截图问了一下朋友,明确指出了问题
问题原因 错误的地方问题原因就是:"" 里面还有 "" 在JavaScript 里面是不被允许的
所以只能想办法把"" 变成转义字符
这下成功了.JSON.parse 能正常解析数据了,当时我是这个表情的......
嘿嘿嘿马上把拿到的数据,使用innerHtml 赋值上去看看呢......
擦,显示的东西<div> <img> 这些东西,意思就是把转义的字符给我转义回来变成String 类型了,开始以为是原生JavaScript 的问题,然后又使用jQuery的 .html()
还是不行...紧接着使用了append 啊,各种赋值都不行.....
没法, 想办法在JavaScript 里面再转回来呗,就转成<div> <img>这种
JavaScript转换回来 红色区域就是返回的数据最后附上各种转义,反转义的解决方案
https://my.oschina.net/parker/blog/49225
网友评论