0

我一直在尝试从这个特定的 URL 中提取数据:http: //leafletjs.com/examples/us-states.js使用 RJSONIO。我转到该 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

我想将此 URL 处的数据转换为数据框,但无法克服此错误。我已尝试在此链接上使用解决方案:将JSON 文件从 URL 导入 R,但它对我不起作用。谢谢您的帮助。

4

1 回答 1

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 =和尾随;.

于 2014-05-21T19:28:10.543 回答