日期:2014-05-16  浏览次数:20416 次

js解析php返回的数组格式字符串
ajax请求php返回一个数组格式的字符串,情况特殊不能修改php使其返回json格式,只有拿js来解析了.代码如下:
function dataTrans( str )
{
	var obj = {};
	str = str.replace( /^Array\s*\(/,'' ).replace( /\)\s*$/,'' );
	str.replace( /\[(\w+)\]\s+=>((?:[\S\s](?!\[(\w+)\]\s+=>))+)/g,function( m,$1,$2 )
	{
		obj[$1] = $2;
	});
	return obj;
}

参数str传入的时候是一个标准的php数组格式,处理以后直接返回了一个对象.这样在js里就可以尽情发挥啦.
感谢网友wait的大力帮助: http://waitdemos.googlecode.com/svn/trunk/tmp-demos/datatrans.html