我已经这样做了几个小时了,我终生都想不出如何解码这个json文件。我正在使用gnip来捕获twitter数据。Gnip以JSON格式返回数据。我需要一种方法来解码这在php中,并能够访问每个json对象。我以前使用过json,但我不能理解这一点。我在简单的测试过程中遇到的一个有趣的事情是,如果我有一个像这样的json代码
{"foo":123}我可以使用json_decode()函数对其进行解码。但是如果json的格式是这样的
{
"foo":123
}它不能解码:/
以下是指向json代码的链接:
https://dl-web.dropbox.com/get/Public/myjson.json?w=b7ad8e2c
如果此链接不起作用,则应该
https://dl.dropbox.com/u/57604377/myjson.json
我试着像这样访问它。
我将所有这些json代码放在一个文件中,然后读取该文件,并将内容放入一个名为$json的变量中,
$obj = json_decode($json)我尝试了这两种方法来访问初学者的"id“值。
echo $obj->id和
echo $obj->{'id'}它不返回任何内容
我希望你们中的一些有才华的人能给我一些关于这方面的见解。
发布于 2012-11-12 07:15:58
在名为json.php的文件中给出以下代码:
<?
$json = file_get_contents("php://stdin");
$obj = json_decode($json);
var_dump($obj);
// Different echos go here
?>并在您的测试文件中进行分类
cat multiline_gnip.json | php json.php那么下面的工作对我来说是有效的:
echo $obj->id
echo $obj->{id}
echo $obj->{'id'}将json_decode行更改为:
$obj = json_decode($json, true);给我返回一个关联数组,然后它就可以工作了:
echo $obj["id"]介意分享一些你用来解析这篇文章的代码吗?
为了完整,下面是我的php --版本
PHP 5.3.15与Suhosin-Patch (cli) (built: Aug 24 2012 17:45:44)版权所有(c) 1997-2012 PHP Group Zend Engine v2.3.0,版权所有(c) 1998-2012 Zend Technologies
(免责声明:我为Gnip工作)
发布于 2012-11-12 09:15:01
你应该使用php cli来测试你的函数和数据。从那里发现你的bug应该是相当简单的。
https://stackoverflow.com/questions/13285210
复制相似问题