【问题标题】:json file to php array. using json_decode gives nulljson 文件到 php 数组。使用 json_decode 给出 null
【发布时间】:2017-02-01 19:42:40
【问题描述】:

我有 php 文件

<?php
$str = '{
    "champions": [{
        "id": 24,
        "stats": {
            "armor": 27.04,
            "attackrange": 125.0,
        }
    }, {
        "id": 37,
        "stats": {
            "armor": 20.544,
            "attackrange": 550.0,

        }
    }],
    "matches": [{
        "timestamp": 1433644800,
        "champion": 427,
        "lane": "TOP"
    }, {"timestamp": 1453702800,
        "champion": 103,
        "lane": "MIDDLE"
    }]
}';

  $array = json_decode($str,true);// read string to array (true means array, false means object)
  var_dump($array);
  $champions = $array["champions"];
  var_dump($champions);

为两个 var_dump 输出 null。我的错误是什么?谢谢。 json sn-p中有方括号会不会有问题?

【问题讨论】:

  • 我找到了...它是attackrange末尾的逗号
  • 使用json_last_error(),你可以看到为什么它返回null
  • 如果 json 格式不正确,它将中断。在您的情况下,您在数组的最后一个元素之后有逗号。您可以查看JSON syntax 了解更多示例。

标签: php json


【解决方案1】:

您的JSON 中有错误。

删除[champions][stats]数组末尾的,

【讨论】:

    【解决方案2】:

    请从 Champions->stats 的每个最后一个元素中删除逗号分隔,如下所示,然后进行解码

    {
        "champions": [
            {
                "id": 24,
                "stats": {
                    "armor": 27.04,
                    "attackrange": 125
                }
            },
            {
                "id": 37,
                "stats": {
                    "armor": 20.544,
                    "attackrange": 550
                }
            }
        ],
        "matches": [
            {
                "timestamp": 1433644800,
                "champion": 427,
                "lane": "TOP"
            },
            {
                "timestamp": 1453702800,
                "champion": 103,
                "lane": "MIDDLE"
            }
        ]
    }
    

    【讨论】:

      猜你喜欢
      • 2018-01-30
      • 1970-01-01
      • 1970-01-01
      • 2011-01-25
      • 2018-10-27
      • 1970-01-01
      • 2013-12-23
      • 2016-10-19
      • 2019-04-27
      相关资源
      最近更新 更多