从多个JSON对象中提取数据

时间:2013-04-28 15:16:45

标签: php twitter json

我想从示例Twitter数据中提取推文,例如http://pastebin.com/AvHnxKpz

我尝试使用PHP函数json_decode,然后循环输出'text'字段,但没有任何乐趣,特别是当输入是几个对象时,就像它在样本数据中一样。

我可以使用$json = json_decode($input, true);然后$json['text']从单个条目中提取推文,例如

{"created_at":"Sun Apr 28 17:31:15 +0000 2013","id":328562066359205888,"id_str":"328562066359205888","text":"RT @NameIsLauraa: I think it's cute when guys are ticklish \u263a"}

但是,当输入包含许多条目,例如

{"created_at":"Sun Apr 28 17:31:15 +0000 2013","id":328562066359205888,"id_str":"328562066359205888","text":"RT @NameIsLauraa: I think it's cute when guys are ticklish \u263a"}

{"created_at":"Sun Apr 28 17:31:15 +0000 2013","id":328562066329837568,"id_str":"328562066329837568","text":"RT @R_Piz23: Lupa lak nak post caramel pudding yg sedap aku buat dulu tu @Ainie_Kim ..terliur la kau kan.. nasib la badan..homemade aiskrim\u2026"}

代码不起作用。

1 个答案:

答案 0 :(得分:0)

您的Twitter数据似乎包含混合的JSON条目,一些用于删除操作,另一些用于 created_at 操作。

我为您提供了一个示例代码段,以了解如何从 created_at 操作中获取text字段。

http://codepad.org/N1VlteMc中查看。

更新

  

流API响应的主体由一系列换行符分隔的消息组成,其中“newline”被认为是\ r \ n(十六进制,0x0D 0x0A),“message”是JSON编码的数据结构或一个空白行。

基本上你只需解析\ r \ n标记的消息文本。阅读以下Twitter文档页面以了解如何处理流: