首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >用php从gnip中解码json

用php从gnip中解码json
EN

Stack Overflow用户
提问于 2012-11-08 16:29:59
回答 2查看 263关注 0票数 2

我已经这样做了几个小时了,我终生都想不出如何解码这个json文件。我正在使用gnip来捕获twitter数据。Gnip以JSON格式返回数据。我需要一种方法来解码这在php中,并能够访问每个json对象。我以前使用过json,但我不能理解这一点。我在简单的测试过程中遇到的一个有趣的事情是,如果我有一个像这样的json代码

代码语言:javascript
复制
{"foo":123}

我可以使用json_decode()函数对其进行解码。但是如果json的格式是这样的

代码语言:javascript
复制
{

 "foo":123


}

它不能解码:/

以下是指向json代码的链接:

https://dl-web.dropbox.com/get/Public/myjson.json?w=b7ad8e2c

如果此链接不起作用,则应该

https://dl.dropbox.com/u/57604377/myjson.json

我试着像这样访问它。

我将所有这些json代码放在一个文件中,然后读取该文件,并将内容放入一个名为$json的变量中,

代码语言:javascript
复制
$obj = json_decode($json)

我尝试了这两种方法来访问初学者的"id“值。

代码语言:javascript
复制
echo $obj->id

代码语言:javascript
复制
echo $obj->{'id'}

它不返回任何内容

我希望你们中的一些有才华的人能给我一些关于这方面的见解。

EN

回答 2

Stack Overflow用户

发布于 2012-11-12 07:15:58

在名为json.php的文件中给出以下代码:

代码语言:javascript
复制
<?
  $json = file_get_contents("php://stdin");

  $obj = json_decode($json);
  var_dump($obj);

  // Different echos go here
?>

并在您的测试文件中进行分类

代码语言:javascript
复制
cat multiline_gnip.json | php json.php

那么下面的工作对我来说是有效的:

代码语言:javascript
复制
echo $obj->id
echo $obj->{id}
echo $obj->{'id'}

将json_decode行更改为:

代码语言:javascript
复制
$obj = json_decode($json, true);

给我返回一个关联数组,然后它就可以工作了:

代码语言:javascript
复制
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工作)

票数 1
EN

Stack Overflow用户

发布于 2012-11-12 09:15:01

你应该使用php cli来测试你的函数和数据。从那里发现你的bug应该是相当简单的。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13285210

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档