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