Конкатенация JSON в цикле RoR - PullRequest
0 голосов
/ 22 ноября 2018

Я хотел бы объединить результаты 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 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)

Есть ли возможность сделать это таким образом?

1 Ответ

0 голосов
/ 22 ноября 2018

Я не вижу, где определено 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)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...