业务场景, 后端返回给前端的数据中,有html格式的字符串,如下
<font color='red'>我是提示信息</font>
后端使用fastjson. data.toJsonString()响应给前端, 但是格式不是标准的json格式.如
{"msg":"<font color="red">我是提示信息</font>"}
很明显,这样在前端无法转换成json.后端的字符串在引号地方加上转译符还是有问题
解决方案:
在后端使用以下代码转
org.apache.commons.lang.StringEscapeUtils.escapeHtml(msg);
然后在前端把被转译的html字符再换回来
result = (result.replace(/<(.|\n)*?>/g, '') || ' ')
.replace(/</g, '<')
.replace(/>/g, '>');
result = JSON.parse(result)
这样就完成了