Json数据中含有div 标签或者"" 等不规则字符的解决办法

在项目中遇到了一个这样的问题,后台返回的字符串含有不规则字符,在Java里面能正常的序列化和反序列化,因为项目中传递过程Native-JS ,传递过来是一个String 类型的,所以使用JSON.parse(jsonStr),可是一直报错?使用eval(),依然无解,不知所措.

让我们先来看看数据格式

Json数据中含有div 标签或者
拿到的jsonStr

拿到这个字符串,拿去解析是解析不了的,各种JSON 解析网站也是解析不了的,如图所示(想不通Java里面为什么可以正常的反序列化)

Json数据中含有div 标签或者
序列化错误截图

问了一下朋友,明确指出了问题

Json数据中含有div 标签或者
问题原因
错误的地方

问题原因就是:"" 里面还有 "" 在JavaScript 里面是不被允许的
所以只能想办法把"" 变成转义字符

Json数据中含有div 标签或者
使用如下方法进行转义

这下成功了.JSON.parse 能正常解析数据了,当时我是这个表情的......

Json数据中含有div 标签或者
嘿嘿嘿

马上把拿到的数据,使用innerHtml 赋值上去看看呢......
擦,显示的东西

这些东西,意思就是把转义的字符给我转义回来变成String 类型了,开始以为是原生JavaScript 的问题,然后又使用jQuery的 .html()
还是不行...紧接着使用了append 啊,各种赋值都不行.....

Json数据中含有div 标签或者
可能是我误导了这个博客的说法,我以为这样能解析回来

没法, 想办法在JavaScript 里面再转回来呗,就转成

这种

Json数据中含有div 标签或者
JavaScript转换回来
Json数据中含有div 标签或者
红色区域就是返回的数据

最后附上各种转义,反转义的解决方案
https://my.oschina.net/parker/blog/49225

你可能感兴趣的:(Json数据中含有div 标签或者"" 等不规则字符的解决办法)