这是将json读入php的简单方法吗?

时间:2012-11-16 10:31:38

标签: php json

我是json的新手。我想将JSON文件中的数据读入php文件。

我的json文件数据是这样的

{"multicast_id":8925377088262649527,"success":0,"failure":1,"canonical_ids":0,"results":[{"error":"NotRegistered"}]}

我只想查看successfailure值。我用了

json_decode($jason_string,true);

但它无法在我的服务器上运行。我不知道原因。

因此,请告诉我解决此问题的最简单方法,并请详细解释。

2 个答案:

答案 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.ini
Loaded Configuration File:

找到行

;延长= php_json.dll

删除';'并保存,如果您没有该行,您可以添加它。重新启动您的Web服务器,然后重试