PHP json_decode()函数详解

5个月前 (12-14 23:24)阅读278回复0
纳兰叶
纳兰叶
  • 管理员
  • 注册排名1
  • 经验值787
  • 级别管理员
  • 主题155
  • 回复6
楼主

php获得api返回的json数据后,如何解析?

1、PHP支持两种数组,一种是只保存值(value)的索引数组(indexed array),另一种是保存名值对(name/value)的关联数组(associative array)。

2、file_get_contents 得到的字符,使用 json_decode 解析成json。

3、先用json_decode把json解析成一个Object。

4、使用json_decode($arr,true); $arr为你接收到的json数据,解码之后为数组。

PHP json_decode()函数详解.jpeg

php获得api返回的json数据后,如何解析?

json_decode() 可以对JSON字符串「解码」,并转换为PHP变量。


语法

mixed json_decoce( $json_str, assoc, depth, options )

参数

$json_str :需要解码的JSON字符串,只能处理UTF-8编码的数据

assoc :布尔类型,true返回数组,(默认)false返回对象

depth :整数类型,递归的深度(默认512层),最大 2147483647 层

options :二进制掩码,目前只支持 JSON_BIGINT_AS_STRING

通过恰当的类型,返回解码后的数据,默认返回对象类型。

JSON格式错误 或 超过递归解析深度 或 false 或 null,就返回null。

一、返回数组类型

json_decode() 默认返回「对象」类型,如果想返回「数组」类型,

就将 assoc 参数设置为true。 assoc 参数可省略,默认为false。

实例:

var_dump(json_decode('{"key1":"value1","key2":"value2"}'));
var_dump(json_decode('{"key1":"value1","key2":"value2"}', true));

输出:

php获得api返回的json数据后,如何解析?

object(stdClass)#1 (2) {
  ["key1"]=>
  string(6) "value1"
  ["key2"]=>
  string(6) "value2"
}
array(2) {
  ["key1"]=>
  string(6) "value1"
  ["key2"]=>
  string(6) "value2"
}


options 参数设置为 JSON_OBJECT_AS_ARRAY 时,

也可以转换成「数组」类型。实例:

var_dump(json_decode('{"key1":"value1","key2":"value2"}', JSON_OBJECT_AS_ARRAY));

输出:

array(2) {
  ["key1"]=>
  string(6) "value1"
  ["key2"]=>
  string(6) "value2"
}


以上内容仅代表作者观点,甚至可能并非原创,如遇未经考证信息需持审慎态度。若有疑问,可联系本站处理。

本文地址:https://www.nly3355.cn/53-5686.html

0
我空虚,我寂寞,还感觉有点冷!
回帖

PHP json_decode()函数详解 期待您的回复!

您需要 登录账户 后才能发表评论
取消
载入表情清单……
载入颜色清单……
插入网络图片

取消确定

图片上传中
编辑器信息
提示信息