在PHP中可以使用内置函数:json_decode()函数来将JSON编码的字符串转换为PHP变量。下面本篇文章就来带大家了解一下json_decode()函数,希望对大家有所帮助。
将JSON字符串转换为PHP变量json_decode()函数
PHP json_decode()函数
json_decode()函数可用于解码JSON字符串;它可以接受一个JSON 编码的字符串,然后将其转换为 PHP 变量(对象或数组)。
基本语法:
json_decode( $json, $assoc = FALSE, $depth = 512, $options = 0 )
参数:json_decode()函数接受可以接受4个参数
● json:用于包含需要解码的JSON字符串。它仅适用于UTF-8编码的字符串。
● assoc:这是一个布尔变量,可省略。默认值为false,返回对象类型的值;如果值为true,则返回的对象将转换为关联数组类型。
● depth:用于表示用户指定的递归深度。
● options:二进制掩码,可包含的位掩码有:JSON_OBJECT_AS_ARRAY,JSON_BIGINT_AS_STRING,JSON_THROW_ON_ERROR。
返回值:此函数以适当的PHP类型返回已编码的JSON值。如果json无法解码或者编码数据比递归限制更深,则返回NULL。
json_decode()函数使用示例
下面通过代码示例来看看json_decode()函数是如何将JSON字符串转换为PHP变量的。
示例1:
// JSON编码的字符串
$json = '{"a":7, "b":5, "c":5, "d":11, "f":19}';
// 使用json_decode()函数对JSON字符串进行解码
//转换成对象类型
var_dump(json_decode($json));
//转换成数组类型
var_dump(json_decode($json, true));
?>
输出:
object(stdClass)[1]
public 'a' => int 7
public 'b' => int 5
public 'c' => int 5
public 'd' => int 11
public 'f' => int 19
array (size=5)
'a' => int 7
'b' => int 5
'c' => int 5
'd' => int 11
'f' => int 19
示例2:
// JSON编码的字符串
$json = '{"Coding_id": 85421545}';
// 使用json_decode()函数对JSON字符串进行解码
$obj = json_decode($json);
// 显示JSON对象的值
print $obj->{'Coding_id'};
?>
输出:
85421545