phpを使って複雑なjsonデータを取得して出力する方法と解決方法

WBOY
リリース: 2016-06-13 12:15:49
オリジナル
983 人が閲覧しました

php を使用して複雑な JSON データを取得し、出力する方法
これは、複数のカスタマー サービスを呼び出して現在のオンライン カスタマー サービスを表示するときの WeChat 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 データを取得して WeChat 応答インターフェイスに戻りたかったのですが、構造は少し複雑で、同じフィールドがあります。 。 。
まだ結果はありません。最終的な 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 />
ログイン後にコピー

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート