您的位置:首页 > 编程语言 > PHP开发

php json_encode()与json_decode()的区别

2014-10-22 12:39 531 查看
json_encode():该函数主要用来将数组或对象,转换为json格式.
注意:json只接受utf-8编码的字符,json_encode()的参数必须是utf-8编码。

例子①:
$array = array("a"=>"is a","b"=>"is b");
echo json_encode($array);

输出结果为:
{"a":"is a","b":"is b"}

例子②:
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;

输出结果为(类中的属性为私有变量的时候,则不会输出):
{"name":"zhangsan","age":20,"height":100}

json_decode():该函数用于将json文本转换为相应的php数据结构
转换成对象:
$json = '{"a":"hello","b":"world","c":"zhangsan","d":20,"e":170}';

var_dump(json_decode($json));

输出结果为:
object(stdClass)[1]

public 'a' => string 'hello' (length=5)

public 'b' => string 'world' (length=5)

public 'c' => string 'zhangsan' (length=8)

public 'd' => int 20

public 'e' => int 170

转换成数组:
$json = '{"a":"hello","b":"world","c":"zhangsan","d":20,"e":170}';

var_dump(json_decode($json,true));

输出结果为:
array (size=5)

'a' => string 'hello' (length=5)

'b' => string 'world' (length=5)

'c' => string 'zhangsan' (length=8)

'd' => int 20

'e' => int 170

记住,数组不可以使用->访问属性

来自:毛宇鹏 weibo:weibo.com/hongtu1993
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: