Ⅰ 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)
}
?>