昨天我问了一个问题:How to create this JSON in PHP?
这很好用,现在我必须解析服务器的回复-他给了我一个像下面这个例子一样的数组。我该如何运行并获取startTime和以下名称?
为什么呢
<?php $json = file_get_contents("URL");
$data = json_decode($json);
$time1 = $data[0][1]['startTime'];
?>
不起作用?请帮助我理解这一点,并向我解释下一次要解析数组或JSON时如何获得解决方案,以及当您必须解析这样的事情时该怎么做。
有没有可用的工具,您可以在其中发布代码并可以单击所请求的项目,它向您显示代码如何获得此代码?
来自服务器的阵列:
Array (
[jsonrpc] => 2.0
[id] => 6d41c7a9e35e441c4e9b66e267523927
[result] => Array (
[0] => Array (
[id] => 403230
[date] => 20190923
[startTime] => 1240
[endTime] => 1330
[kl] => Array (
[0] => Array (
[name] => Radiodata
)
)
[te] => Array (
[0] => Array (
[name] => MUS
[longname] => Music
)
)
[su] => Array (
[0] => Array (
[name] => MUS
[longname] => Music
)
)
[ro] => Array (
[0] => Array (
[id] => 31
)
)
[activityType] => Music-Only
)
[1] => Array (
[id] => 403231
[date] => 20190923
[startTime] => 1335
[endTime] => 1425
[kl] => Array (
[0] => Array (
[name] => Radiodata
)
)
[te] => Array (
[0] => Array (
[name] => MUS
[longname] => Music
)
)
[su] => Array (
[0] => Array (
[name] => MUS
[longname] => Music
)
)
[ro] => Array (
[0] => Array (
[id] => 31
)
)
[activityType] => Music-Only
)
[2] => Array (
[id] => 407790
[date] => 20190923
[startTime] => 1520
[endTime] => 1610
[kl] => Array (
[0] => Array (
[name] => Radiodata
)
)
[te] => Array (
[0] => Array (
[name] => MUS
[longname] => Music
)
)
[su] => Array (
[0] => Array (
[name] => MUS
[longname] => Music
)
)
[ro] => Array (
[0] => Array (
[id] => 24
)
)
[activityType] => Music-Only
)
[3] => Array (
[id] => 407791
[date] => 20190923
[startTime] => 1610
[endTime] => 1700
[kl] => Array (
[0] => Array (
[name] => Radiodata
)
)
[te] => Array (
[0] => Array (
[name] => MUS
[longname] => Music
)
)
[su] => Array (
[0] => Array (
[name] => MUS
[longname] => Music
)
)
[ro] => Array (
[0] => Array (
[id] => 24
)
)
[activityType] => Radiodata
)
)
答案 0 :(得分:0)
基本上,您使用错误的密钥解析json。检查此代码对您有帮助
<?php
$json = file_get_contents("URL");
$data = json_decode($json,true);
foreach($data['result'] as $resData)
{
$startTime=$resData['startTime'];
$endtime=$resData['endTime'];
echo($startTime);
foreach($resData['kl'] as $klData)
{
$klname=$klData['name'];
echo($klname);
echo '<br>';
}
foreach($resData['te'] as $teData)
{
$tename=$teData['name'];
$echo($tename);
echo '<br>';
}
}
?>
输出:
Radiodata
MUS
Radiodata
MUS
Radiodata
MUS
Radiodata
MUS