Heim  >  Artikel  >  Backend-Entwicklung  >  怎样使用php获取复杂json数据并输出,该如何解决

怎样使用php获取复杂json数据并输出,该如何解决

WBOY
WBOYOriginal
2016-06-13 12:15:49956Durchsuche

怎样使用php获取复杂json数据并输出
这是调用多客服查看当前在线客服时的微信api

返回数据示例(正确时的JSON返回结果):

{<br />    "kf_online_list": [<br />        {<br />            "kf_account": "[email&#160;protected]",<br />            "status": 1,<br />            "kf_id": "1001",<br />            "auto_accept": 0,<br />            "accepted_case": 1<br />        },<br />        {<br />            "kf_account": "[email&#160;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 /> "kf_online_list": [<br /> {<br /> "kf_account": "[email&#160;protected]",<br /> "status": 1,<br /> "kf_id": "1001",<br /> "auto_accept": 0,<br /> "accepted_case": 1<br /> },<br /> {<br /> "kf_account": "[email&#160;protected]",<br /> "status": 1,<br /> "kf_id": "1002",<br /> "auto_accept": 0,<br /> "accepted_case": 2<br /> }<br /> ]<br />}
JSON;
$jsonStr = json_decode($s, true);

$content = '';
foreach($jsonStr['kf_online_list'] as $i=>$item) {
$n = $i + 1;
$content .= "
客服{$n}:$item[kf_account]
在线状态:$item[status]
正在接待人数:$item[accepted_case]
";
}
echo $content;
<br />客服1:[email&#160;protected]<br />在线状态:1<br />正在接待人数:1<br /><br />客服2:[email&#160;protected]<br />在线状态:1<br />正在接待人数:2<br /><br />

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn