У меня есть данные JSON следующим образом
[{
"id": 2332860,
"name": "NAME 1",
"capping": [{
"quantity": 1,
"rule":[{"frequency": 'bad' }]
}]
},
{
"id": 77777,
"name": "NAME 2",
"capping": [{
"quantity": 2,
"rule":[{"frequency": 'good' }]
}]
}]
Вот как я сначала извлекаю данные id и name через ответ API, и все работает нормально, как показано в коде ниже
obj=JSON.parse(response)
print(obj)
obj.each do |val|
id, name = val['id'], val['name']
puts "ID: #{id}"
puts "Name: #{name}"
end
Вот как выглядит вид
<ul>
<% obj.each do |val| %>
<li><%= val['id'] %> - <%= val['name'] %></li>
<% end %>
</ul>
Чего я сейчас пытаюсь достичь:
Теперь я хочу получить доступ к количеству из ограничения и частоте из правила. Для этого я реализовал этот код ниже, но получаю
ошибка неопределенной локальной переменной или ограничение метода
obj=JSON.parse(response)
print(obj)
obj.each do |val|
id, name = val['id'], val['name']
puts "ID: #{id}"
puts "Name: #{name}"
#get quqntity
val.capping.each do |cap|
quantity = cap['quantity']
puts "QTY: #{quantity}"
#get frequency
cap.rule.each do |r|
frequency = r['frequency']
puts "FRQ: #{frequency}"
end
end
end
Любая идея о том, почему я получаю ошибку выше, может кто-то помочь мне решить проблему