目录

PHP json_decode() 函数

❮ PHP JSON 参考

示例

将 JSON 数据存储在 PHP 变量中,然后将其解码为 PHP 对象:

<?php
$jsonobj = '{"Peter":35,"Ben":37,"Joe":43}';

var_dump(json_decode($jsonobj));
?>
运行示例 »

定义和用法

json_decode() 函数用于将 JSON 对象解码或转换为 PHP 对象。


语法

json_decode( string, assoc, depth, options)

参数值

Parameter Description
string Required. Specifies the value to be decoded
assoc Optional. Specifies a Boolean value. When set to true, the returned object will be converted into an associative array. When set to false, it returns an object. False is default
depth Optional. Specifies the recursion depth. Default recursion depth is 512
options Optional. Specifies a bitmask (JSON_BIGINT_AS_STRING, JSON_INVALID_UTF8_IGNORE, JSON_INVALID_UTF8_SUBSTITUTE, JSON_OBJECT_AS_ARRAY, JSON_THROW_ON_ERROR)

技术细节

返回值: 以适当的 PHP 类型返回 JSON 编码的值。如果 JSON 对象无法解码,则返回 NULL
PHP 版本: 5.2+
PHP 变更日志: PHP 7.3:添加了 JSON_THROWN_ON_ERROR 选项
PHP 7.2:添加了 JSON_INVALID_UTF8_IGNORE 和 JSON_INVALID_UTF8_SUBSTITUTE 选项
PHP 5.4:添加了 JSON_BIGINT_AS_STRING 和 JSON_OBJECT_AS_ARRAY 选项
PHP 5.4:添加选项范围
PHP 5.3:添加深度范围

更多示例

示例

将 JSON 数据存储在 PHP 变量中,然后将其解码为 PHP 关联数组:

<?php
$jsonobj = '{"Peter":35,"Ben":37,"Joe":43}';

var_dump(json_decode($jsonobj, true));
?>
运行示例 »

示例

如何从 PHP 对象访问值:

<?php
$jsonobj = '{"Peter":35,"Ben":37,"Joe":43}';

$obj = json_decode($jsonobj);

echo $obj->Peter;
echo $obj->Ben;
echo $obj->Joe;
?>
运行示例 »

示例

如何访问 PHP 关联数组中的值:

<?php
$jsonobj = '{"Peter":35,"Ben":37,"Joe":43}';

$arr = json_decode($jsonobj, true);

echo $arr["Peter"];
echo $arr["Ben"];
echo $arr["Joe"];
?>
运行示例 »

❮ PHP JSON 参考