我在使用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();
答案 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/。