我已经在这几个小时了,因为我的生活无法弄清楚如何解码这个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'}
它不会返回任何内容
我希望你们中的一些有才能的人能够对我有所了解。
答案 0 :(得分:1)
在名为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 --version
PHP 5.3.15与Suhosin-Patch(cli)(内置:2012年8月24日17:45:44) 版权所有(c)1997-2012 PHP小组 Zend Engine v2.3.0,版权所有(c)1998-2012 Zend Technologies
(免责声明:我为Gnip工作)
答案 1 :(得分:0)
你应该使用php cli测试你的功能&amp;数据。 从那里发现你的错误应该是相当简单的。