Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/json/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Json 如何通过for循环附加数据_Json_R_Loops_Rjsonio_Jsonlite - Fatal编程技术网

Json 如何通过for循环附加数据

Json 如何通过for循环附加数据,json,r,loops,rjsonio,jsonlite,Json,R,Loops,Rjsonio,Jsonlite,我试图通过循环递归地收集数据。我编写了这个命令,它用于从2个页面收集信息。比如说, library(jsonlite) data1 <- fromJSON("https://www.example.com/?page=1", flatten = TRUE) data2 <- fromJSON("https://www.example.com/?page=2", flatten = TRUE) filings<- rbind.pages(list(data1, data2)

我试图通过循环递归地收集数据。我编写了这个命令,它用于从2个页面收集信息。比如说,

library(jsonlite)   
data1 <- fromJSON("https://www.example.com/?page=1", flatten = TRUE)
data2 <- fromJSON("https://www.example.com/?page=2", flatten = TRUE)
filings<- rbind.pages(list(data1, data2))
library(jsonlite)

data1要在字符串中使用循环变量,您需要使用
eval
parse
paste
这三种令人不快的组合。这里有一个简单的例子

for (i in 1:10){
    eval(parse(text=paste(
    'print ("iteration number ',i,'")'
    ,sep='')))
}
你的例子可能是

for (i in 1:300) {
eval(parse(text=paste(
'data_',i, '<- fromJSON("https://www.example.com/?page=',i,'", flatten = TRUE)'
,sep='')))
}
for(1:300中的i){
eval(解析(文本=粘贴(

“数据”i,循环将比
apply
慢得多。请参见
lappy
sapply
paste0
只需连接两个字符串

GetJSON = function(id_)
{
    return(fromJSON(paste0("https://www.example.com/?page=", id_), flatten = TRUE))
}
lapply(1:300, GetJSON)

臭名昭著的《财富》杂志(106)
,它让人抓狂,但我如何组合页面呢?我尝试了归档
GetJSON = function(id_)
{
    return(fromJSON(paste0("https://www.example.com/?page=", id_), flatten = TRUE))
}
lapply(1:300, GetJSON)