把json读成R

时间:2013-03-01 20:06:02

标签: json r

经过几天的努力,我决定向stackoverflow专家询问。

我想将此(例如)“http://www.appannie.com/app/ios/instagram/ranking/history/chart_data/?s=2010-10-06&e=2012-06-04&c=143441&f=ranks&d=iphone”导出到R.

所以这就是我的尝试。

library(RJSONIO)
library(rjson)
library(RCurl)
appannie <- getURL("http://www.appannie.com/app/ios/instagram/ranking/history/chart_data/.json?s=2010-10-06&e=2012-06-04&c=143441&f=ranks&d=iphone")
fromJSON(appannie)

但是这给了我一个“没有数据要解析”的错误。

但我可以清楚地看到有数据(我可以看到浏览器中的数据)。

[{“data”:[[1286323200000,70,“Initial release \ n”],[1286409600000,65,null],[1286496000000,89,null],[1286582400000,106,null],[1286668800000, 143,null],[1286755200000,172,null],[1286841600000,106,null],[1286928000000,116,null],[1287014400000,78,null],[1287100800000,102,null],..... 。[1338768000000,2,null]],“label”:“照片和视频”}]

所以我尝试了这个。

fromJSON(paste(readLines('http://www.appannie.com/app/ios/instagram/ranking/history/chart_data/.json?s=2010-10-06&e=2012-06-04&c=143441&f=ranks&d=iphone'), collapse="")) 

但是这个给了我一个错误的“意外字符”&lt;'“。

有人可以给我一个指导,为什么会这样,以及如何解决这个问题?

1 个答案:

答案 0 :(得分:3)

根据您粘贴的数据:

  jsonRaw <- '{"data": [[1286323200000, 70, "Initial release\n"], [1286409600000, 65, null], [1286496000000, 89, null], [1286582400000, 106, null], [1286668800000, 143, null], [1286755200000, 172, null], [1286841600000, 106, null], [1286928000000, 116, null], [1287014400000, 78, null], [1287100800000, 102, null], [1338768000000, 2, null]], "label": "Photo and Video"}]'

一切正常:

  jsonParsed <- fromJSON(jsonRaw)

可能发生的事情是R无法访问该网站。 看一下RCurl语句的输出。如果它不是json - 类似数据,那么您就有了问题。

编辑:

你陈述

  

&#34;但我可以清楚地看到有数据(我可以从浏览器中看到数据)。&#34;

但是你已经登录了,所以很明显这与在R

中看到它不是一回事