json中文解決編碼問題,和去除雙引號,加單引號方法。
阿新 • • 發佈:2018-11-14
/*json新增單引號*/ function my_arr_zhuan_json($arr) { $jsonstr = $this->my_json_decode(json_encode($arr,true)); $new_jsonstr = $this->decodeUnicode($jsonstr); $str1 = str_replace("name:","name:'",$new_jsonstr); $str2 = str_replace(",data","',data",$str1); return $str2; } /*json去除所有雙引號*/ function my_json_decode($str) { // $str = preg_replace('#"(.*?)"#i', '$1$2', $str); //去掉所有的雙引號 return $str; } /*json只去除key雙引號*/ function my_json_decode($str) { // $str = preg_replace('/"(\w+)"(\s*:\s*)/is', '$1$2', $str); //去掉key的雙引號 return $str; } /*json解析中文*/ function decodeUnicode($str) { return preg_replace_callback('/\\\\u([0-9a-f]{4})/i', create_function( '$matches', 'return mb_convert_encoding(pack("H*", $matches[1] ), "UTF-8", "UCS-2BE");' ), $str); }