最新消息:

eval()解析JSON问题

js代码 admin 717浏览 0评论

在ajax中,是通过eval()函数来解析返回的信息,即eval(oAjax.responseText())。使用eval函数是因为oAjax.responseText()返回的所有数据在js中都被看做是字符串,因此要用eval还原成为本来的数据结构:如数组或JSON结构。

在实际使用过程,转换数组没有问题,直接转换JSON就会出错。查阅了一下资料,原来如果要转换成JSON结构,需要先在字符串外面加(),然后再调用eval函数。

	window.onload=function()
	{
		var a="{'2':3,'3':4}";
		var b="("+a+")";
		alert(eval(b)['2']);
	};

如果是数组的话直接调用eval就行了,不用再字符串外面加括号了。

参考资料:

1、http://www.cnblogs.com/webflash/archive/2009/11/15/1603537.html

2、http://www.cnblogs.com/lishenglyx/archive/2009/04/02/1427727.html

转载请注明:jinglingshu的博客 » eval()解析JSON问题

发表我的评论
取消评论

表情

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址