php5.4以上:
json_encode($data, JSON_FORCE_OBJECT | JSON_UNESCAPED_SLASHES | JSON_UNESCAPED_UNICODE);
php5.3
//數組轉成對象編碼,encode后[]變成{}
$data = json_encode($data, JSON_FORCE_OBJECT);
//不轉義斜杠
$data = str_replace("\\/", "/", $data);
//以字面編碼多字節 Unicode 字符(默認是編碼成 \uXXXX)
$data = _unicodeToUTF8($data);
//\u變成多字節Unicode字符
function _unicodeToUTF8($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);
}
注意:JSON_FORCE_OBJECT //慎用,會把里面所有數組都轉換成對象,即[]都會變成{}
