Php/func json decode

来自菜鸟教程
跳转至:导航、​搜索

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)

参数值

参数 描述
string 需要。指定要编码的值
assoc 可选的。指定一个布尔值。设置为true时,返回的对象将转换为关联数组。设置为false时,它将返回一个对象。默认为False
depth 可选的。指定递归深度。默认递归深度为512
options 可选的。指定位掩码(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:已添加 options 参数
PHP 5.3:已添加 depth 参数

更多例子

将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参考