我想將對象保存到數組中。我有JSON對象,我想保存數組中的每個對象來單獨訪問每個元素。 任何人都可以幫助我嗎?如何將JSON對象保存到數組中
toArray = JSON.parse(res.body)
categ = Array.new
i = 0
toArray.each do |object|
newMyObject = MyObject.new(object)
categ = Array.new(i, newMyObject)
i = i+1
end
我想將對象保存到數組中。我有JSON對象,我想保存數組中的每個對象來單獨訪問每個元素。 任何人都可以幫助我嗎?如何將JSON對象保存到數組中
toArray = JSON.parse(res.body)
categ = Array.new
i = 0
toArray.each do |object|
newMyObject = MyObject.new(object)
categ = Array.new(i, newMyObject)
i = i+1
end
試試這個
array_from_json = JSON.parse(res.body)
objects_array = array_from_json.map { |item| MyObject.new(item) }
在你的代碼的問題是,您要創建一個新的數組每次迭代。
謝謝。你能解釋一下我的代碼究竟做了什麼嗎? –
也許你不知道地圖的方法。這允許您轉換數組的每個元素並返回一個新數組。在這種情況下,我們將json中的每個元素轉換爲MyObject對象,並將結果存儲在objects_array數組對象中。 – Ursus
我得到的錯誤:「未初始化的常數爲MyObject(NameError) 您的意思是Object從測試 \t:51:在'各 ' \t從測試:51:在'地圖' \t從測試:51:在'
感謝您的評論。我怎樣才能做到這一點?之後我必須訪問json中的每個元素。 –
作爲一個註釋,Ruby強烈鼓勵使用只包含小寫字母的變量和方法名稱,所以'to_array'在這裏是可以預料的。大寫字母保留爲「ClassName」或「CONSTANT_NAME」的情況。 – tadman