ruby-on-rails - 在循环 RoR 中连接 JSON
问题描述
我想在一个查询中连接 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)
有没有可能做到这一点?
解决方案
我看不到在哪里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)
推荐阅读
- node.js - Nodejs axios 错误:tls_process_ske_dhe:dh 密钥太小
- javascript - 图表 JS 不显示图表
- azure - 输出带有模块的变量的问题
- javascript - 如何将谷歌电子表格中的动态值设置为另一个谷歌电子表格单元格
- oracle - 大量 E OBIEE 报告
- machine-learning - 如何在 Pytorch LSTM/GRU/RNN 中指定不同的层大小
- swift - 影响模态背景的 SwiftUI 动画
- html - 为什么 div 直到 for 循环完成才更新?
- sql - SQL视图返回不同的结果时选择数据库不同
- uikit - 在弹出窗口中使用 UIDatePicker 内联样式 - 避免使用键盘