0
Я создаю задачу rake, которая анализирует массив объектов JSON и должна запускать каждый элемент массива json. Вот пример объекта JSON Я пытаюсь перебиратьRails как обрабатывать разобранный json
response.body
{"result":"[{\"accounts\":\"1668\",\"accu\":\"568\",\"activePayingRate\":\"1.97757\"},
{\"accounts\":\"1554\",\"accu\":\"497\",\"activePayingRate\":\"2.18398\"},
{\"accounts\":\"2314\",\"accu\":\"491\",\"activePayingRate\":\"2.43795\"},
{\"accounts\":\"2825\",\"accu\":\"511\",\"activePayingRate\":\"2.33333\"}]","errorMsg":"success"}
Я попробовал этот
result = JSON.parse(response.body)["result"]
result.each do |r|
puts r["accu"]
end
Но потом я получил эту ошибку
undefined method `each' for #<String:0x007fc81dc6fb78>
Итак, я пробовал это
result = JSON.parse(response.body)
result.each do |r|
puts r["accu"]
end
Но потом я получил эту ошибку
can't convert String into Integer
Это потому, что вы работаете с плохо отформатированным JSON. – deefour
Да, я понял это. разработчики этого API продолжают закручивать JSON. Но я все еще надеялся на лучшее исправление, чем тот, который я предоставил – user2158382