如何将特定URL中的.js或.json数据拉入R数据框

时间:2014-05-21 19:01:14

标签: json r rjsonio

我一直在尝试使用RJSONIO从此特定网址中提取数据:http://leafletjs.com/examples/us-states.js。我转到该URL并通过按CTRL + A选择那里的所有数据然后将其粘贴到记事本++中保存数据,将其保存为test.json。以下是我从那时起在R中尝试的内容:

library(RJSONIO)
json_file <- dir("test.json")
jsonIntoR <- fromJSON(readLines(json_file)[1])

我收到以下错误:

Error in fromJSON(readLines(json_file)[1]) : 
    error in evaluating the argument 'content' in selecting a method for function 'fromJSON': Error in file(con, "r") : invalid 'description' argument

我想将此网址的数据转换为数据框,但无法克服此错误。我尝试在此链接使用解决方案:Import JSON file from URL into R但它对我不起作用。谢谢你的帮助。

1 个答案:

答案 0 :(得分:1)

请勿使用readLines(...)

library(rjson)
library(httr)
url <- "http://leafletjs.com/examples/us-states.js"
text <- content(GET(url),type="text")
text <- sub("var statesData = ","",text)
text <- sub(";$","",text)
json <- fromJSON(text)

您的文件实际上是javascript,因此要将其解释为json,您需要删除标题var statesData =和尾随;