我想在一个查询中连接JSON结果并将其直接保存到Firebase。
当我尝试这样的事情时,一切正常:
getData = RestClient.get 'https://exampleapi.com/api/?page=1'
getData2 = RestClient.get 'https://exampleapi.com/api/?page=2'
dataToObj = JSON.parse(getData.body)
dataToObj2 = JSON.parse(getData2.body)
results = dataToObj['results'] + dataToObj2['results']
firebase.push("results", results)
但是我有20页,并且我尝试使用for循环,但它不起作用:
for i in 1..20 do
url = 'https://exampleapi.com/api/?page='
link = url + i.to_s
getData = RestClient.get link
dataToObj = JSON.parse(getData.body)
results = dataToObj['results']
save += results
end
firebase.push("results", save)
是否可以通过这种方式进行?
答案 0 :(得分:1)
我看不到save
的定义位置。假设dataToObj['results']
是一个数组,则可以首先将save
初始化为一个空数组;做...
save = []
(1..20).each do |i|
get_data = RestClient.get "https://exampleapi.com/api/?page=#{i}"
save += JSON.parse(get_data.body)['results']
end
firebase.push("results", save)