欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  后端开发

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

程序员文章站 2022-04-29 14:58:36
...
怎样使用php获取复杂json数据并输出
这是调用多客服查看当前在线客服时的微信api

返回数据示例(正确时的JSON返回结果):
{
"kf_online_list": [
{
"kf_account": "[email protected]",
"status": 1,
"kf_id": "1001",
"auto_accept": 0,
"accepted_case": 1
},
{
"kf_account": "[email protected]",
"status": 1,
"kf_id": "1002",
"auto_accept": 0,
"accepted_case": 2
}
]
}


以下是我的代码:

$url_online ="https://api.weixin.qq.com/cgi-bin/customservice/getonlinekflist?access_token={$access_token}";
$output_online=file_get_contents($url_online);
$jsonStr = json_decode($output_online,true);
//读取信息:
$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"];
?>


我本是希望获得所有的kf_account数据,并返回到微信回话界面,可是这结构有点复杂,还有相同的字段。。。
目前还查询不到结果,我估计是最后获取json的数组写的不对,希望大家帮忙!
------解决思路----------------------
$s ={
"kf_online_list": [
{
"kf_account": "[email protected]",
"status": 1,
"kf_id": "1001",
"auto_accept": 0,
"accepted_case": 1
},
{
"kf_account": "[email protected]",
"status": 1,
"kf_id": "1002",
"auto_accept": 0,
"accepted_case": 2
}
]
}
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;

客服1:[email protected]
在线状态:1
正在接待人数:1

客服2:[email protected]
在线状态:1
正在接待人数:2

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

声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。

相关文章

相关视频