通过 fromjson 解析 JSON 个 URL 列表
Parse list of JSON URLs through fromjson
我有 table 个 url,每个指向特定的 json 输出。我想通过 fromJSON
(或任何其他 json 解析器)解析它们,以便从这些 json 输出中提取数据,并将其组合在列表列表中。
我的代码设置如下:
pages <- list()
for (i in 1:length(urltable))
{
mydata<-fromJSON(urltable[i], flatten=TRUE)
pages[[i]] <- mydata$entries
}
呈现错误项:
Error in (function (classes, fdef, mtable) :
unable to find inherited method for function 'fromJSON' for signature '"list", "missing"'
如果我通过在 fromJSON()
中粘贴单个 url 来测试它,它可以工作,所以我认为问题在于 fromJSON
没有读取 [=36] =]?
有人对如何执行此操作有建议吗?
补充:urltable 是 1 列 326 行的 table。 table 的头是:
url
1 http://zoeken.kvk.nl/Jsonsearch.ashx?site=handelsregister&partialfields=&q=Aalzum&start=10
2 http://zoeken.kvk.nl/Jsonsearch.ashx?site=handelsregister&partialfields=&q=Aalzum&start=20
3 http://zoeken.kvk.nl/Jsonsearch.ashx?site=handelsregister&partialfields=&q=Aardenburg&start=10
4 http://zoeken.kvk.nl/Jsonsearch.ashx?site=handelsregister&partialfields=&q=Aardenburg&start=20
5 http://zoeken.kvk.nl/Jsonsearch.ashx?site=handelsregister&partialfields=&q=Aardenburg&start=30
6 http://zoeken.kvk.nl/Jsonsearch.ashx?site=handelsregister&partialfields=&q=Aardenburg&start=40
urltable、dput(subset_urltable)
:
的加法 2 子集
structure(list(url = c("http://zoeken.kvk.nl/Jsonsearch.ashx?site=handelsregister&partialfields=&q=Aalzum&start=10","http://zoeken.kvk.nl/Jsonsearch.ashx?site=handelsregister&partialfields=&q=Aalzum&start=20","http://zoeken.kvk.nl/Jsonsearch.ashx?site=handelsregister&partialfields=&q=Aardenburg&start=10","http://zoeken.kvk.nl/Jsonsearch.ashx?site=handelsregister&partialfields=&q=Aardenburg&start=20","http://zoeken.kvk.nl/Jsonsearch.ashx?site=handelsregister&partialfields=&q=Aardenburg&start=30","http://zoeken.kvk.nl/Jsonsearch.ashx?site=handelsregister&partialfields=&q=Aardenburg&start=40","http://zoeken.kvk.nl/Jsonsearch.ashx?site=handelsregister&partialfields=&q=Aardenburg&start=50","http://zoeken.kvk.nl/Jsonsearch.ashx?site=handelsregister&partialfields=&q=Aardenburg&start=60","http://zoeken.kvk.nl/Jsonsearch.ashx?site=handelsregister&partialfields=&q=Aardenburg&start=70","http://zoeken.kvk.nl/Jsonsearch.ashx?site=handelsregister&partialfields=&q=Aardenburg&start=80")), row.names = c(NA, -10L), class = "data.frame", .Names = "url")
fromJSON
需要一个 json 字符串,在您的情况下,您正在尝试检索 json 数据并一次性转换它。您必须将数据从 url 提供给 fromJSON
。做这样的事情
mydata<-fromJSON(url(urltable[i]), flatten=TRUE)
url
会将提取的数据提供给 fromJSON
函数。
完整的解决方案应该是这样的
pages <- list()
for (i in 1:length(urltable))
{
mydata<-fromJSON(url(as.character(urltable[i])), flatten=TRUE)
pages[[i]] <- mydata$entries
}
安装了 curl
包后,您无需显式使用 url
函数即可。
此外,如果您想遍历 urltable
的所有行,请不要使用 length(urltable)
,因为它会 return 数据框中的列数,此处为 1,而是 length(urltable$url)
pages <- list()
for (i in 1:length(urltable$url))
{
mydata<-fromJSON(as.character(urltable$url[i]), flatten=TRUE)
pages[[i]] <- mydata$entries
}
我有 table 个 url,每个指向特定的 json 输出。我想通过 fromJSON
(或任何其他 json 解析器)解析它们,以便从这些 json 输出中提取数据,并将其组合在列表列表中。
我的代码设置如下:
pages <- list()
for (i in 1:length(urltable))
{
mydata<-fromJSON(urltable[i], flatten=TRUE)
pages[[i]] <- mydata$entries
}
呈现错误项:
Error in (function (classes, fdef, mtable) :
unable to find inherited method for function 'fromJSON' for signature '"list", "missing"'
如果我通过在 fromJSON()
中粘贴单个 url 来测试它,它可以工作,所以我认为问题在于 fromJSON
没有读取 [=36] =]?
有人对如何执行此操作有建议吗?
补充:urltable 是 1 列 326 行的 table。 table 的头是:
url
1 http://zoeken.kvk.nl/Jsonsearch.ashx?site=handelsregister&partialfields=&q=Aalzum&start=10
2 http://zoeken.kvk.nl/Jsonsearch.ashx?site=handelsregister&partialfields=&q=Aalzum&start=20
3 http://zoeken.kvk.nl/Jsonsearch.ashx?site=handelsregister&partialfields=&q=Aardenburg&start=10
4 http://zoeken.kvk.nl/Jsonsearch.ashx?site=handelsregister&partialfields=&q=Aardenburg&start=20
5 http://zoeken.kvk.nl/Jsonsearch.ashx?site=handelsregister&partialfields=&q=Aardenburg&start=30
6 http://zoeken.kvk.nl/Jsonsearch.ashx?site=handelsregister&partialfields=&q=Aardenburg&start=40
urltable、dput(subset_urltable)
:
structure(list(url = c("http://zoeken.kvk.nl/Jsonsearch.ashx?site=handelsregister&partialfields=&q=Aalzum&start=10","http://zoeken.kvk.nl/Jsonsearch.ashx?site=handelsregister&partialfields=&q=Aalzum&start=20","http://zoeken.kvk.nl/Jsonsearch.ashx?site=handelsregister&partialfields=&q=Aardenburg&start=10","http://zoeken.kvk.nl/Jsonsearch.ashx?site=handelsregister&partialfields=&q=Aardenburg&start=20","http://zoeken.kvk.nl/Jsonsearch.ashx?site=handelsregister&partialfields=&q=Aardenburg&start=30","http://zoeken.kvk.nl/Jsonsearch.ashx?site=handelsregister&partialfields=&q=Aardenburg&start=40","http://zoeken.kvk.nl/Jsonsearch.ashx?site=handelsregister&partialfields=&q=Aardenburg&start=50","http://zoeken.kvk.nl/Jsonsearch.ashx?site=handelsregister&partialfields=&q=Aardenburg&start=60","http://zoeken.kvk.nl/Jsonsearch.ashx?site=handelsregister&partialfields=&q=Aardenburg&start=70","http://zoeken.kvk.nl/Jsonsearch.ashx?site=handelsregister&partialfields=&q=Aardenburg&start=80")), row.names = c(NA, -10L), class = "data.frame", .Names = "url")
fromJSON
需要一个 json 字符串,在您的情况下,您正在尝试检索 json 数据并一次性转换它。您必须将数据从 url 提供给 fromJSON
。做这样的事情
mydata<-fromJSON(url(urltable[i]), flatten=TRUE)
url
会将提取的数据提供给 fromJSON
函数。
完整的解决方案应该是这样的
pages <- list()
for (i in 1:length(urltable))
{
mydata<-fromJSON(url(as.character(urltable[i])), flatten=TRUE)
pages[[i]] <- mydata$entries
}
安装了 curl
包后,您无需显式使用 url
函数即可。
此外,如果您想遍历 urltable
的所有行,请不要使用 length(urltable)
,因为它会 return 数据框中的列数,此处为 1,而是 length(urltable$url)
pages <- list()
for (i in 1:length(urltable$url))
{
mydata<-fromJSON(as.character(urltable$url[i]), flatten=TRUE)
pages[[i]] <- mydata$entries
}