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"
}




还没有评论,来说两句吧...