从5.2版本开始,PHP原生提供json_encode()和json_decode()函数,前者用于编码,后者用于解码。
json_encode()
该函数主要用来将数组和对象,转换为json格式。
复制代码 代码如下:
$arr = array ('a'=>'a','b'=>'b','c'='c','d'=>'d','e'='e');
echo json_encode($arr);
输出结果:
json只接受utf-8编码的字符,json_encode()的参数必须是utf-8编码。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
|
class person { public $name ; public $age ; public $height ; function __construct( $name , $age , $height ) { $this ->name = $name ; $this ->age = $age ; $this ->height = $height ; } } $obj = new person( "zhangsan" ,20,100); $foo_json = json_encode( $obj ); echo $foo_json ; |
输出结果:
当类中的属性为私有变量的时候,则不会输出。
json_decode()
该函数用于将json文本转换为相应的PHP数据结构。
复制代码 代码如下:
$json = '{"a":"hello","b":"world","c":"zhangsan","d":20,"e":170}';
var_dump(json_decode($json));
输出结果:
通常情况下,json_decode()总是返回一个PHP对象。
转成数组的:
复制代码 代码如下:
$json = '{"a":"hello","b":"world","c":"zhangsan","d":20,"e":170}';
var_dump(json_decode($json,ture));
以上所述就是本文的全部内容了,希望大家能够喜欢。