问题1:PHP转JSON 方法?
答:PHP5.4之后自带转JSON函数:json_encode
问题2:使用json_encode转json之后中文变成Unicode编码了,怎么解决?
答:在json_encode会自动对中文进行Unicode编码,不让他进行Unicode编码就可以了,如下:
json_encode($categorylist,JSON_UNESCAPED_UNICODE);
问题3:json数据也返回来了,控制台打印看着也是json格式数组,但是遍历的时候却是按字母遍历的,何解?
答:这是由什么原因造成的我也不知道,但是可以宰js里对返回的数据再进行json转化就可以了,如下:
datalist = JSON.parse(datalist);
使用JSON.parse前后控制台打印的效果图贴一下,
JSON.parse使用前,控制台打印效果:
JSON.parse使用后:
附上前后台测试代码
后台
public function actionTest(){
$user = array();
$user[0] = ["name"=>"张三","id"=>1];
$user[1] = ["name"=>"李四","id"=>2];
$user[2] = ["name"=>"王五","id"=>3];
$user[3] = ["name"=>"赵六","id"=>4];
echo json_encode($user,JSON_UNESCAPED_UNICODE);
}
前台json
$.ajax({
url :"/tipexn/test" ,
success : function (datalist) {
console.log(datalist);
datalist = JSON.parse(datalist);
for(var i in datalist){
var data = datalist[i];
console.log(data);
}
}
});