之前遇到josn中文傳輸的時候我使用的是 urlencode 和 urldecode
缺點只能處理字符,所以每次數組都要遍歷,過於麻煩
現在找到了一個快捷轉義的方法 JSON_UNESCAPED_UNICODE
/**
*code 狀態碼
* result response返回結果
* msg 錯誤說明
*/
function api_response($code=200,$result="",$msg=""){
$time = time();
if(empty($result)){
$res = array("at"=>$time,"code"=>$code,'msg'=>$msg);
}elseif(is_array($result)){
$res = array("at"=>$time,"code"=>$code,"result"=>$result,"msg"=>$msg);
}else{
$res = array("at"=>$time,"code"=>$code,"result"=>$result,"msg"=>$msg);
}
//就是這一步對json做了轉義處理
return json_encode($res,JSON_UNESCAPED_UNICODE);
}
//調用這個函數,模擬了一個二位數組
public function res(){
$result = array('name'=>'張三','sex'=>'男','res'=>array('name'=>'王五'));
$msg = '';
return api_response(200,$result,$msg);
}
瀏覽器返回的數據
到此步我們完成了對json中文的轉義