json_encode() AND json_decode()
来源:互联网 发布:java中或者怎么表示 编辑:程序博客网 时间:2024/06/15 16:13
string json_encode ( mixed $value [, int $options = 0 ] ):该函数主要用来将数组和对象,转换为json格式。$value为要转换的数据,除了resource 类型之外,可以为任何数据类型。
PHP支持关联和索引数组,但由于javascript不支持关联数组,所以json_encode()只将索引数组(indexed array)转为数组格式,而将关联数组(associative array)转为对象格式。
例1:索引数组
$arr = array(1,2,3,4,5,6);
echo json_encode($arr);
——>[1,2,3,4,5,6]
例2:关联数组
$arr = array(
1 => ‘q’,
2 => ‘w’,
3 => ‘e'
);
echo json_encode($arr);
——>{“1”:’q’, “2”:’w’, “3”:’e'}
mixed json_decode ( string $json [, bool $assoc ] ),接受一个JSON 格式的字符串并且把它转换为 PHP 变量
例1:
$json = '{"a":1,"b":2,"c":3,"d":4,"e":5}';
json_decode($json);
——>输出为 对象
json_decode($json, true);
——> 输出为 数组
以下是3个错误的json串:
$bad_json = "{ 'bar': 'baz' }”; json的分隔符(delimiter)只允许使用双引号,不能使用单引号。
$bad_json = '{ bar: "baz" }’; json名值对的”名”(冒号左边的部分),任何情况下都必须使用双引号。
$bad_json = '{ "bar": "baz", }’; 最后一个值之后不能添加逗号(trailing comma)。
1 0