Я новичок здесь, и я надеюсь, что я все делаю правильно.
Я также искал на форуме и с Googel, но я не нашел ответа. (Или я не заметил, что решение лежит у меня на глазах. Тогда извините>. <.) </p>
У меня проблема, и я точно не знаю, что я делаю неправильно в данный момент.
Я делаю запрос API и получаю большой JSON. Это выглядит как-то так:
"apps": [
{
"title": "XX",
... many more data
},
{
"title": "XX",
... many more data
},
{
"title": "XX",
... many more data
}
... and so on
]
После этого я хочу создать хеш с нужными мне данными, например, он должен выглядеть так:
{
"APP_0" => {"Title"=>"Name1", "ID"=>"1234", "OS"=>"os"}
"APP_1" => {"Title"=>"Name2", "ID"=>"5678", "OS"=>"os"}
}
но значения в хэше, которые я создаю с помощью своего кода, выглядят так:
"APP_1", {"Title"=>"Name2", "ID"=>"5678", "OS"=>"os"}
нет, если это действительный хеш? И после этого я хочу перебрать хэш и просто вывести идентификатор. Но я получаю ошибку (TypeError). Что я делаю неправильно?
require 'json'
require 'net/http'
require 'uri'
require 'httparty'
response = HTTParty.get('https://xxx/api/2/app', {
headers: {"X-Toke" => "xyz"},
})
all_apps_parse = JSON.parse(response.body)
all_apps = Hash.new
all_apps_parse["apps"].each_with_index do |app, i|
all_apps["APP_#{i}"] = {'Title' => app["title"],
'ID' => app["id"],
'OS' => app["platform"]}
end
all_apps.each_with_index do |app, i|
app_id = app["App_#{i}"]["id"]
p app_id
end
Я надеюсь, что кто-то может понять проблему и помочь мне :-). Заранее спасибо.