js解析json时遇到英文单双引号

js局部刷新div时,在innerHTML的返回的内容的时候会出现引号,例如这样的形式:

{"intList":3,"name[0]":"<a href='docsendMain_view.jsp?strWorkId=14484410548912767&strWorkDetailId=1448441140492019' class='mui-navigate-right'> 测试001 <br> <span class='type'></span> <span class='person'>系统管理员</span> <span class='time'>2015-11-25</span></a>","name[1]":"<a href='docsendMain_view.jsp?strWorkId=14482573729797928&strWorkDetailId=1460600379013002' class='mui-navigate-right'> ztt测试发文拟稿搜狗浏览器 <br> <span class='type'></span> <span class='person'>系统管理员</span> <span class='time'>2015-11-23</span></a>","name[2]":"<a href='docsendMain_view.jsp?strWorkId=14482485992117092&strWorkDetailId=1448250692731388' class='mui-navigate-right'> ztt测试发文拟稿11月23日 <br> <span class='type'></span> <span class='person'>系统管理员</span> <span class='time'>2015-11-23</span></a>"}


 

那么js对json进行解析的时候,就会出现不能解析的问题...

疑难问题及解决方法:

1.将json数据中的单引号全部替换为#号;

<pre name="code" class="java">result = result.replaceAll("'","#");
       result = result.replaceAll("'","#");


    

2.返回给js时,js对name[0],name[1]的读取;

dataObj进行接收json数据.....

<pre name="code" class="javascript">var result = xhr.responseText ;
var dataObj = eval("("+result+")");//js执行ajax返回的json数据,需要先这样处理
var content = dataObj["name["+i+"]"];


 



3.js将#号替换为单引号的方法;

<pre name="code" class="javascript">content = content.replace(/\#/g, "'");//替换#号
content = content.replace(/\</g, "<");//替换<号
content = content.replace(/\>/g, ">");//替换>号


 


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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值