json_decode无法正常工作,也没有回音

时间:2015-06-24 02:25:12

标签: php json

我在使用php从json获得响应时遇到了很多问题。 下面的代码没有回复,我不明白为什么。 我需要能够通过函数单独访问该json文件的所有点。

  

file.json

{
    "file":{
        "name": "File Name",
        "description": "This is a file!",
        "license": "glp-2.0",
        "version": "1.1.1",
        "author": [{
            "name": "Author Name",
            "email": "name@domain.com"
        }],
        "require": [{
            "php": ">= 5.2.4",
            "myslq": ">= 5.0",
        }]
    }
}
  

本地主机/ data.php

define('PATH', 'http://domain.com/json/');

function test(){
    $json = file_get_contents( PATH."file.json" );
    $data = json_decode($json,true);
    echo $data['file']['name'];
}

test();

2 个答案:

答案 0 :(得分:0)

define('PATH', 'http://domain.com/json/');

function test(){
    $json = file_get_contents( PATH."file.json" );
    $data = json_decode(preg_replace('/,\s*([\]}])/m', '$1', utf8_encode($json)),true);
    echo $data['file']['name'];
}

test();

preg_replace('/,\ s *([]}])/ m','$ 1',utf8_encode($ json)) 上面以粗体显示我的问题。

答案 1 :(得分:0)

使用调试器或进行一些调试打印是个好主意。 尝试:

$json = file_get_contents( PATH."file.json" );
var_dump($json);
$data = json_decode($json,true);
var_dump($data)

现在您可以看到file_get_contents或json_decode是否无效。

更好的选择是在开发软件时使用调试器以便轻松找到故障。获取更多信息:http://xdebug.org/