这是doing multiple fromJSON queries (jsonlite)的后续行动。不确定发布单独但相关的问题是否可以。
根据@parfait的建议,我尝试在列表中创建一个URL列表,以便可以将fromJSON应用于它。但是我遇到了错误
library(jsonlite)
library(BBmisc)
library(readxl)
# reading an excel file with 1 column of URLs
sample_postal_code <- read_excel("~/Desktop/sample postal code.xlsx")
https://drive.google.com/open?id=1BC2JHKg03DReFdCN-Ru-cTrxXXOZ1ZTw
dataset <- convertRowsToList(sample_postal_code[-1])
dataset <- unlist(dataset,recursive = F)
json_list2 <- lapply(dataset, function(i) fromJSON(i)$results)
=> Error in open.connection(con, "rb") : HTTP error 400.
对于记录,以下代码有效:
library(jsonlite)
x1 <- as.character("https://developers.onemap.sg/commonapi/search?searchVal=revenue&returnGeom=Y&getAddrDetails=Y&pageNum=1)")
x2 <- as.character("https://developers.onemap.sg/commonapi/search?searchVal=airport&returnGeom=Y&getAddrDetails=Y&pageNum=1)")
url_list <- list(x1,x2)
json_list <- lapply(url_list, function(i) fromJSON(i)$results)
df = Reduce(function(...) merge (... , all=T),json_list)
我在url_list的下拉列表中注意到它有
: chr "https://developers.onemap.sg/commonapi/search?searchVal=revenue&returnGeom=Y&getAddrDetails=Y&pageNum=1)"
: chr "https://developers.onemap.sg/commonapi/search?searchVal=airport&returnGeom=Y&getAddrDetails=Y&pageNum=1)"
然后是x1和x2,而数据集有:
1 : chr "https://..."
2 : chr "https://..."
等等。有谁知道问题是什么?谢谢!