我正在尝试解析this JSON data to print on a fanpage I am working on。
如果查看该JSON链接,您将看到结构为[{key:value,key:value,key:value}]
。我最近学会了如何使用稍微不同的结构来解析JSON,例如this JSON file,其中数据结构为{"identifier":[{key:value,value,value,value,value}{key:value,value...}]}
这是我正在尝试的代码:(我已经尝试了大约10种变体,同时也用于逗号的爆炸)
<?php
$json = file_get_contents('http://live.nhl.com/GameData/SeasonSchedule-20152016.json');
$json = json_decode($json, TRUE);
foreach($json as $d){
$estTime = $d['est'];
echo $estTime;
?>
正如我所说,通过这样做,我在JSON的其他结构上取得了一些成功:
$json = file_get_contents('http://nhlwc.cdnak.neulion.com/fs1/nhl/league/playerstatsline/20152016/2/SJS/iphone/playerstatsline.json');
$json = json_decode($json, TRUE);
$skaterData = $json['skaterData'];
$goalieData = $json['goalieData'];
foreach($skaterData as $d){
$stats = explode(',', $d['data']);
$number = $stats[0];
$position = $stats[1];
$name = $stats[2];
$gp = $stats[3];
$goals = $stats[4];
$assists = $stats[5];
$points = $stats[6];
$plsmns = $stats[7];
$pim = $stats[8];
$shots = $stats[9];
$toi = $stats[10];
$pp = $stats[11];
$sh = $stats[12];
$gwg = $stats[13];
$ot = $stats[14];
答案 0 :(得分:2)
您的代码唯一的问题是您错过了foreach
的结束花括号。
我强烈建议您注意所收到的错误消息,通常它们会让您轻松解决问题。如果您的服务器没有在浏览器中显示它们(这在现场网站上通常是件好事),您可以在服务器上的某个错误日志中找到它们。
此外,您可能希望使用带有linting(what is linting)的正确编辑器,这可能会立即以这种或那种方式通知您这种遗漏。一个这样的免费工具是Atom。