【问题标题】:Parsing JSON with PHP array/object confusion使用 PHP 数组/对象混淆解析 JSON
【发布时间】:2016-03-20 20:21:15
【问题描述】:

我正在尝试解析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];

编辑:JSON data successfully parsed

【问题讨论】:

    标签: php arrays json object


    【解决方案1】:

    您的代码唯一有问题的是您缺少foreach 的右花括号。

    我强烈建议您注意您收到的错误消息,它们通常会让您轻松解决问题。如果您的服务器没有在浏览器中显示它们(这在实时站点上通常是一件好事),您会在服务器某处的错误日志中找到它们。

    此外,您可能希望使用带有 linting 的适当编辑器 (what is linting),它可能会立即以某种方式通知您此遗漏。一个这样的免费工具是Atom

    【讨论】:

    • 非常尴尬,我一直在其他事情上花费了很多时间......无论如何,谢谢。我使用记事本++ atm
    • 毫无疑问它现在正在工作哈哈。很抱歉浪费您的时间。请不要给我投反对票! link
    猜你喜欢
    • 1970-01-01
    • 2016-03-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-06-27
    • 2016-07-08
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多