Ⅰ php获得api返回的json数据后,如何解析
首先你需要使用对方约定方式获取,然后考虑是否使用缓存,最后获取到数据后使用json_decode函数解析成数组格式,接下来就是自己的逻辑代码了。
Ⅱ PHP 如何处理一串JSON 返回给我一个ID数组呢
<?php
$arr='[{"id":1,"gid":0,"title":"小红"},{"id":2,"gid":0,"title":"小明"},{"id":3,"gid":0,"title":"小蓝"},{"id":4,"gid":0,"title":"小白"},{"id":5,"gid":7,"title":"小嘿"},{"id":6,"gid":8,"title":"小网"},{"id":7,"gid":9,"title":"小王"},{"id":8,"gid":4,"title":"小2"},{"id":9,"gid":3,"title":"小3"},{"id":10,"gid":2,"title":"小8"},{"id":11,"gid":2,"title":"小7"},{"id":12,"gid":7,"title":"小7"}]';
$arr_list=json_decode($arr,1);
$id_pid=null;
$list=null;
foreach($arr_listas$key=>$val){
$id_pid[$val['id']]=$val['gid'];
$list[$val['id']]=$val;
}
functiongetChild($id,$id_pid,$child=array()){
if(count($child)==0)$child[]=$id;
$res=array_keys($id_pid,$id);
if(count($res)>0){
$child=array_merge($child,$res);
foreach($resas$val){
$child=getChild($val,$id_pid,$child);
}
}
return$child;
}
$id=3;
echo'<pre>';
print_r(getChild($id,$id_pid));
echo'</pre>';
exit();
结果:
Ⅲ php获取服务器端数据得到json后转换数组始终为null是怎么回事
你可以将你获取到的json数据贴上来看看.出现null绝大多数是因为格式有误引起的。
但是有时候也会由于编码原因(比如,远程获取其它链接地址的json数据)
Ⅳ PHP 闂棰 鎺ュ弹鍒颁竴涓狫SON 钖庤浆鎹㈡垚鏁扮粍澶辫触
鐢ㄤ綘锲板眬镄刯son锅氢简娴嬭瘯锛
$srr = json_decode($s);
镓揿嵃娲炲昂瀹村嚭𨱒$srr鏄姝g‘镄勫晩
濡傛灉绾抽摱浣犺繖镙峰仛涓嶈岋纴闾e氨鍏堟妸$s澶勭悊涓涓嬭瘯璇曪细
$s = str_replace("\\","",$s);$srr = json_decode($s);
Ⅳ PHP如何循环json
需要先将json转换成数组,然后才能循环。
json是字符串,不能直接循环。使用json_decode($jsonstring, true) 可以将格式正确的json字符串转换成关联数组。
需要注意,该函数只能处理UTF-8编码的json字符。
实例代码:
<?php
$json='{"a":1,"b":2,"c":3,"d":4,"e":5}';
var_mp(json_decode($json));
var_mp(json_decode($json,true));
?>
以上实例将会输出:
object(stdClass)#1(5){
["a"]=>int(1)
["b"]=>int(2)
["c"]=>int(3)
["d"]=>int(4)
["e"]=>int(5)
}
array(5){
["a"]=>int(1)
["b"]=>int(2)
["c"]=>int(3)
["d"]=>int(4)
["e"]=>int(5)
}
?>