我是json的新手。我想将JSON文件中的数据读入php文件。
我的json文件数据是这样的
{"multicast_id":8925377088262649527,"success":0,"failure":1,"canonical_ids":0,"results":[{"error":"NotRegistered"}]}
我只想查看success
和failure
值。我用了
json_decode($jason_string,true);
但它无法在我的服务器上运行。我不知道原因。
因此,请告诉我解决此问题的最简单方法,并请详细解释。
答案 0 :(得分:1)
您的代码应该有效。
<?php
$somestring = <<<HEREDOC
{"multicast_id":8925377088262649527,"success":0,"failure":1,"canonical_ids":0,"results"$
HEREDOC;
var_dump(json_decode($somestring, true));
按预期输出:
chris@chris-UX31E:~$ php test.php
array(5) {
["multicast_id"]=>
int(8925377088262649527)
["success"]=>
int(0)
["failure"]=>
int(1)
["canonical_ids"]=>
int(0)
["results"]=>
array(1) {
[0]=>
array(1) {
["error"]=>
string(13) "NotRegistered"
}
}
}
请启用PHP日志记录以进行调试! 看看:http://davidwinter.me/articles/2009/07/14/enable-php-error-logging/
如果它是本地开发服务器,我更喜欢显示错误并启用所有错误消息 http://www.dzone.com/snippets/let-php-show-all-errors
答案 1 :(得分:1)
这样做:
转到 - &gt;开始 - &gt;跑 - &gt; cmd.exe的
运行:
c:\path\to\your\php.exe --version
检查你是否有php 5.2或更高版本。 (json它默认从5.2捆绑到PHP)如果你没有..你需要安装(http://www.php.net/manual/en/install.pecl.windows.php)或升级到更新的PHP版。
你也可以尝试在shell中执行此操作
c:\path\to\your\php.exe --ini
编辑显示在
前面的php.iniLoaded Configuration File:
找到行
;延长= php_json.dll
删除';'并保存,如果您没有该行,您可以添加它。重新启动您的Web服务器,然后重试