之前遇到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中文的转义