json_encode()&json_decode()及JSON.parse()&JSON.tostringify介绍
程序员文章站
2022-06-10 18:58:03
...
json_encode()
- json_encode()返回json格式的字符串,常常用户将数组转换为json格式的字符串表示,其中第一个参数可以为对象、数组或字符串;第二个参数为 JSON_UNESCAPED_UNICODE (integer)时,字符串中的中文可被正常显示。具体实例代码如下。
<?php
header('Content-Type:application/json');//加上这行,前端那边就不需要var result = $.parseJSON(data);
$name = isset($_POST['name']) ? $_POST['name']: '';
//$name = $_POST['name'];
$retdata = array(
"st"=>array("name"=>"feiy","sex"=>"male","age"=>18,"job"=>'egineer'),
"ss"=>array("name"=>"MM","sex"=>"female","age"=>20,"job"=>'signer'),
"te"=>array("name"=>"cs","sex"=>"female","age"=>28,"job"=>'teacher'),
);
if($name=='st')
{
echo json_encode($retdata['st']);
}
else if($name=='ss')
{
echo json_encode($retdata['ss']);
}
else if($name=='te')
{
echo json_encode($retdata['te']);
}
else{
echo json_encode($retdata);
}
?>
- 测试结果JSON格式如图所示。
- 测试结果原始数据如图所示。
json_decode()
- json_decode()函数中第一个参数为string格式,当使用json_decode()函数返回数组时,必须如此使用:json_decode($str,true),其中第二个参数为true时,函数返回数组;第二个参数为false时,返回对象。
<?php
$str = '{"name":"feiy","sex":"male","age":18,"job":"egineer"}';
$arr = json_decode($str,true);
var_dump($arr);
?>
- 测试结果
JSON.parse()
- JSON.parse()方法将json字符串转化为Javascript值或对象
JSON.tostringify
- JSON.stringify() 方法将一个JavaScript值转换为一个JSON字符串