怎样使用php获取复杂json数据并输出
这是调用多客服查看当前在线客服时的微信api
返回数据示例(正确时的JSON返回结果):
{<br> "kf_online_list": [<br> {<br> "kf_account": "[email protected]",<br> "status": 1,<br> "kf_id": "1001",<br> "auto_accept": 0,<br> "accepted_case": 1<br> },<br> {<br> "kf_account": "[email protected]",<br> "status": 1,<br> "kf_id": "1002",<br> "auto_accept": 0,<br> "accepted_case": 2<br> }<br> ]<br>}以下是我的代码:
$url_online ="https://api.weixin.qq.com/cgi-bin/customservice/getonlinekflist?access_token={$access_token}";<br>$output_online=file_get_contents($url_online);<br>$jsonStr = json_decode($output_online,true);<br>//读取信息:<br>$content = "客服1:".$jsonStr["kf_online_list"]["kf_account"]."\n在线状态:".$jsonStr["kf_online_list"]["status"]."\n正在接待人数:".$jsonStr["kf_online_list"]["accepted_case"]."\n\n客服2:".$jsonStr["kf_online_list"]["kf_account"]."\n在线状态:".$jsonStr["kf_online_list"]["status"]."\n正在接待人数:".$jsonStr["kf_online_list"]["accepted_case"];<br>?>我本是希望获得所有的kf_account数据,并返回到微信回话界面,可是这结构有点复杂,还有相同的字段。。。
目前还查询不到结果,我估计是最后获取json的数组写的不对,希望大家帮忙!
------解决思路----------------------
$s =<<< JSON<br>{<br> "kf_online_list": [<br> {<br> "kf_account": "[email protected]",<br> "status": 1,<br> "kf_id": "1001",<br> "auto_accept": 0,<br> "accepted_case": 1<br> },<br> {<br> "kf_account": "[email protected]",<br> "status": 1,<br> "kf_id": "1002",<br> "auto_accept": 0,<br> "accepted_case": 2<br> }<br> ]<br>}<br>JSON;<br>$jsonStr = json_decode($s, true);<br><br>$content = '';<br>foreach($jsonStr['kf_online_list'] as $i=>$item) {<br> $n = $i + 1;<br> $content .= "<br>客服{$n}:$item[kf_account]<br>在线状态:$item[status]<br>正在接待人数:$item[accepted_case]<br>";<br>}<br>echo $content;<br><br>客服1:[email protected]<br>在线状态:1<br>正在接待人数:1<br><br>客服2:[email protected]<br>在线状态:1<br>正在接待人数:2<br><br>











