2011-09-24 81 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]) 

作品對我來說,有一個警告