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获得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" }
还没有评论,来说两句吧...