php处理json缺少引号

有些json数据key值不带引号,php中的json_decode方法无法执行,必须经过处理,给出处理函数:

/*
* 兼容key没有双引括起来的JSON字符串解析
* @param String $str JSON字符串
* @param boolean $mod true:Array,false:Object
* @return Array/Object
* @auther zaixuasd@126.com
* @website www.365keke.com
*/
function 365keke_json_decode($str, $mode=false){
	$str = trim( $str );
	$str = ltrim( $str, '(' );
	$str = rtrim( $str, ')' );
	$a = preg_split('#(?<!\\\\)\"#', $str );
	for( $i=0; $i < count( $a ); $i+=2 ){
	$s = $a[$i];
	$s = preg_replace('#([^\s\{\}\:\,]+):#', '"\1":', $s );
	$a[$i] = $s;
	}
	//var_dump($a);
	$str = implode( '"', $a );
	return json_decode($str, $mode);
}

 

 

付费咨询请联系QQ:706448591
365客客 » php处理json缺少引号

提供最优质的资源集合

立即查看 了解详情