2011-09-24 82 views
4

我一直在尝试使用rjson和RJSONIO包同时将JSON文件导入R一段时间,但是我无法让它正常工作。一个代码的变化我用:从URL导入JSON文件到R

json_file <- "http://toolserver.org/~emw/index.php?c=rawdata&m=get_traffic_data&p1=USA&project1=en&from=12/10/2007&to=4/1/2011" 
json_data <- fromJSON(paste(readLines(json_file), collapse="")) 

这将导致一个错误消息:

Error in fromJSON(paste(readLines(json_file), collapse = "")) : 
unexpected character '<' 

我认为这个问题是在第一行代码,因为json_file包含了网站的源,而不是实际的内容。我试过getURL()和getURLContent(),但没有任何成功。任何帮助将非常感激!

编辑:正如Martin Morgan指出的那样,问题似乎与URL相关,而不是代码!

+2

当我参观我的浏览器的URL,并查看页面源代码,它_is_纯HTML,没有JSON。所以 –

+0

感谢您的检查!你是对的,但页面上显示的是JSON。你知道一种方法来抓住它吗?我已经尝试了RCurl包中的一些功能,但目前为止没有任何运气。 – Steph

+1

以前,在浏览器中输入URL会生成一个空白页面,并会显示'fromJSON(json_file)'错误。刚才,浏览器显示JSON和'library(RJSONIO); fromJSON(json_file)'按预期工作。看起来这个服务的行为并不一致,无论是因为他们的'结束'问题,还是因为它意味着以一种更微妙的方式被调用,而不仅仅是指向一个URL –

回答

4
library(rjson) 
fromJSON(readLines('http://toolserver.org/~emw/index.php?c=rawdata&m=get_traffic_data&p1=USA&project1=en&from=12/10/2007&to=4/1/2011')[1]) 

作品对我来说,有一个警告