PHP中json_decode()和json_encode()的使用方法

json_decode对JSON格式的字符串进行编码而json_encode对变量进行 JSON
编码,需要的朋友可以参考下。

1.json_decode() 

1.json_decode()

json_decode 
(PHP
5 >= 5.2.0, PECL json >= 1.2.0) 

json_decode
(PHP 5 >= 5.2.0, PECL json >= 1.2.0)

json_decode
— 对 JSON 格式的字符串进行编码 

json_decode — 对 JSON 格式的字符串进行编码

说明 
mixed
json_decode ( string $json [, bool $assoc ] ) 
接受一个
JSON 格式的字符串并且把它转换为 PHP 变量 

说明
mixed json_decode ( string $json [, bool $assoc ] )
接受一个 JSON 格式的字符串并且把它转换为 PHP 变量

参数 

参数

json 
待解码的
json string 格式的字符串。 

json
待解码的 json string 格式的字符串。

assoc 
当该参数为
TRUE 时,将返回 array 而非 object 。 

assoc
当该参数为 TRUE 时,将返回 array 而非 object 。

2.json_encode() 

返回值
Returns an object or if the optional assoc parameter is TRUE, an
associative array is instead returned.

json_encode 
(PHP
5 >= 5.2.0, PECL json >= 1.2.0) 

范例

json_encode
— 对变量进行 JSON 编码 

Example #1 json_decode() 的例子

Report
a bug 说明 
string
json_encode ( mixed $value [, int $options = 0 ] ) 
返回
value 值的 JSON 形式 

<?php 
$json = '{"a":1,"b":2,"c":3,"d":4,"e":5}'; 
var_dump(json_decode($json)); 
var_dump(json_decode($json, true)); 
?>

Report
a bug 参数 

上例将输出:

value 
待编码的
value ,除了resource 类型之外,可以为任何数据类型 

object(stdClass)#1 (5) { 
["a"] => int(1) 
["b"] => int(2) 
["c"] => int(3) 
["d"] => int(4) 
["e"] => int(5) 
} 

array(5) { 
["a"] => int(1) 
["b"] => int(2) 
["c"] => int(3) 
["d"] => int(4) 
["e"] => int(5) 
}

$data='[{"Name":"a1","Number":"123","Contno":"000","QQNo":""},{"Name":"a1","Number":"123","Contno":"000","QQNo":""},{"Name":"a1","Number":"123","Contno":"000","QQNo":""}]'; 
echo json_decode($data);

该函数只能接受
UTF-8 编码的数据 

结果为:

options 
由以下常量组成的二进制掩码:
JSON_HEX_QUOT, JSON_HEX_TAG, JSON_HEX_AMP, JSON_HEX_APOS,
JSON_NUMERIC_CHECK, JSON_PRETTY_PRINT, JSON_UNESCAPED_SLASHES,
JSON_FORCE_OBJECT, JSON_UNESCAPED_UNICODE. 

Array ( [0] => stdClass Object ( [Name] => a1 [Number] => 123 [Contno] => 000 [QQNo] => ) [1] => stdClass Object ( [Name] => a1 [Number] => 123 [Contno] => 000 [QQNo] => ) [2] => stdClass Object ( [Name] => a1 [Number] => 123 [Contno] => 000 [QQNo] => ) )

Report
a bug 返回值 
编码成功则返回一个以
JSON 形式表示的 string 或者在失败时返回 FALSE 。 

可以看出经过json_decode()编译出来的是对象,现在输出json_decode($data,true)试下

文章由爱资料原创本文地址:

echo json_decode($data,true);

结果:

Array ( [0] => Array ( [Name] => a1 [Number] => 123 [Contno] => 000 [QQNo] => ) [1] => Array ( [Name] => a1 [Number] => 123 [Contno] => 000 [QQNo] => ) [2] => Array ( [Name] => a1 [Number] => 123 [Contno] => 000 [QQNo] => ) )

澳门新葡亰网址,可以看出
json_decode($data,true)输出的一个关联数组,由此可知json_decode($data)输出的是对象,而json_decode(“$arr”,true)是把它强制生成PHP关联数组.

2.json_encode()

json_encode
(PHP 5 >= 5.2.0, PECL json >= 1.2.0)

json_encode — 对变量进行 JSON 编码

发表评论

电子邮件地址不会被公开。 必填项已用*标注

相关文章

网站地图xml地图