php JSON对象返回null

php JSON对象返回null,php,json,Php,Json,我终于确保我的JSON对象通过JSON验证器。但是,当我尝试解码时,它返回null。我的JSON对象如下所示: [ { "NAME": "Hearthstone", "PLAYER1": "Rdu ", "PLAYER2": "Savjz ", "status": 2, "meta": "LIVE" }, { "NAME": "LeagueofLegends",

我终于确保我的JSON对象通过JSON验证器。但是,当我尝试解码时,它返回null。我的JSON对象如下所示:

[
    {
        "NAME": "Hearthstone",
        "PLAYER1": "Rdu ",
        "PLAYER2": "Savjz ",
        "status": 2,
        "meta": "LIVE"
    },
    {
        "NAME": "LeagueofLegends",
        "PLAYER1": "TeamKing",
        "PLAYER2": "EDG",
        "status": 2,
        "meta": "28.12."
    }
]
php解码:

$json = file_get_contents("crawl_JSON.php");
$json_output = json_decode($json);

var_dump($json_output);

在php解码文件中,是否使用
围绕它

当我尝试时,它对我有效。我假设包含JSON的文件名为crawl_JSON.php,它与执行php文件的目录相同?如果没有,则可能必须指定完整路径

有关我的文件的更多详细信息:

crawl_JSON.php:

[
    {
        "NAME": "Hearthstone",
        "PLAYER1": "Rdu ",
        "PLAYER2": "Savjz ",
        "status": 2,
        "meta": "LIVE"
    },
    {
        "NAME": "LeagueofLegends",
        "PLAYER1": "TeamKing",
        "PLAYER2": "EDG",
        "status": 2,
        "meta": "28.12."
    }
]
test.php:

<?
$json = file_get_contents("crawl_JSON.php");
$json_output = json_decode($json);

var_dump($json_output);
?>

PHP脚本不会运行如果您将其作为普通文件访问,则必须通过Web服务器访问它们。因此,将其更改为:

$json = file_get_contents("http://localhost/crawl_JSON.php");

假设脚本位于文档根目录中,您可能需要将文档根目录的完整路径添加到脚本。

确保
crawl\u JSON.php
在JSON之前或之后没有输出任何内容。您在前面的问题中没有被要求生成一个最小的示例吗?“请每次都这样做,这不会有任何帮助。对我来说,这似乎是一个完整的例子,@UlrichEckhardt。”。我把这两个都放进文件并运行了它,它成功了(见下面我的答案)。@MarkMadej:那么这不是一个完整的例子,是吗?一个完整的例子可以重现这个问题。如果有人问为什么其他东西不起作用,那么举一个有效的东西的完整例子是没有用的。@LightnessRacesinOrbit它对我起作用了,但他可能有其他问题。我没有按原样运行它,我修改了一些小东西。不管怎样都没什么大不了的,看起来他得到了他需要的东西。当JSON文件不是php脚本时,为什么要将其命名为
.php
?这太令人困惑了。更可能的是,它实际上是一个PHP脚本,在运行时输出JSON,因此Barmar的答案是正确的。@LightnessRacesinOrbit在之前的一个问题中,他在一些评论中展示了如何使用PHP数组构建它,我不得不承认,Post并不完整。我猜他只是一个新的程序员,可能不知道做任何事情的正确方法。否则,他可能不会带着一个相对简单的问题来到这里。我认为crawl_JSON.php显然是一个基于内容的JSON文件(不是php)。请看@MarkMadej:那么我们能强烈建议他将其重命名吗?你可以在这一页上看到它引起了极大的混乱。
$json = file_get_contents("http://localhost/crawl_JSON.php");