首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >执行多个fromJSON查询(jsonlite)

执行多个fromJSON查询(jsonlite)
EN

Stack Overflow用户
提问于 2018-02-06 22:19:07
回答 2查看 262关注 0票数 0

我是一个R新手,找不到任何我能理解的答案。

我的目标是从URL检索信息,然后将信息转换为数据框以供使用。

代码语言:javascript
复制
install.packages("jsonlite")

library(jsonlite)

fromJSON("https://developers.onemap.sg/commonapi/search?searchVal=revenue&returnGeom=Y&getAddrDetails=Y&pageNum=1)") 
#it works

x1 <- as.character("https://developers.onemap.sg/commonapi/search?searchVal=revenue&returnGeom=Y&getAddrDetails=Y&pageNum=1)")

fromJSON(x1) #also works

fromJSON(paste("x",1,sep=""))

=> Error: lexical error: invalid char in json text.    

我哪里错了?我验证了paste("x",1,sep=="")等同于"x1",所以它不能工作吗?

在任何情况下,我实际上计划将一个邮政编码列表放在一个数据框中,以替换每个searchVal=来生成一个URL列表,为每个URL获取一个数据框,然后将它们合并在一起。但是考虑到我在上面所面临的困难,我想我会首先尝试从上面得到帮助。

提前谢谢你!

EN

回答 2

Stack Overflow用户

发布于 2018-02-06 22:37:19

我认为你正在尝试使用一个字符串作为一个变量,在当前的设置中,R知道x1,但是'x1‘只是一个字符串。我希望有人能更好地解释。所以你需要使用。eval

代码语言:javascript
复制
fromJSON(eval(parse(text=paste('x',1,sep=''))))
票数 1
EN

Stack Overflow用户

发布于 2018-02-07 02:09:48

您正在尝试使用字符串作为变量。这些是完全不同的数据类型。

请看这里:https://www.statmethods.net/input/datatypes.html

字符串是字符向量,所以当你这样做的时候

代码语言:javascript
复制
paste("x",1,sep="")

你会得到字符向量"x1“

而当你这样做的时候(顺便说一句,我在最后为你更正了“和”)

代码语言:javascript
复制
x1 <- as.character("https://developers.onemap.sg/commonapi/search?searchVal=revenue&returnGeom=Y&getAddrDetails=Y&pageNum=1")

您将获得一个变量x1,其中包含字符串形式的url。你可以在别的地方使用它。

另一个例子:

代码语言:javascript
复制
region <- "10000032"
url <- paste("https://esi.tech.ccp.is/latest/markets/", region, "/orders/?order_type=sell&page=1", sep="")

应该会给出包含字符向量"https://esi.tech.ccp.is/latest/markets/10000032/orders/?order_type=sell&page=1“的变量url

然后,您可以使用以下命令将其从json解析到数据帧:

代码语言:javascript
复制
df <- fromJSON(url)
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/48645140

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档