json_encode() & json_decode()
json_encode()
所有字符串数据的编码必须是UTF-8,对索引数组和关联数组的处理是不同的,一个输出结果是数组,一个是对象
运行示例:
➜ ~ php -r "print_r(json_encode(['a','b','c']));"
["a","b","c"]
➜ ~ php -r "print_r(json_encode(['a'=>'a','b'=>'b','c'=>'c']));"
{"a":"a","b":"b","c":"c”}
可以在编码的时强制将索引数组的结果转化为对象:
json_encode((object)$array);
或者使用PHP的预定义常量
json_encode($array,JSON_FORCE_OBJECT);
json_decode()
解码时,同样要处理数组和对象,如果要强制输出为关联数组,则加参数:json_decode($json,true);
参数为ture的时候返回数组而不是对象
网友评论