实现以下目标的最佳方式是什么?:
class Whatever
attr_accessor :id, :name, :email
end
JSON文件:
[{"id":"1","name":"Some Name","email":"something@gmail.com"},
{"id":"2","name":"Another Name","email":"another@gmail.com"}]
现在我要读取JSON文件,将其解析为对象Whatever
的数组,以便array[0]
具有Whatever
类对象,其中包含第一个json对象和{{1将有一个array[1]
类对象与第二个json对象。
在红宝石中实现这一目标的最佳方法是什么?
答案 0 :(得分:2)
如果这是你为全班所做的一切,那就没有那么好了:
JSON.parse(whatevers).map do |whatever|
element = Whatever.new
element.id = whatever['id']
element.name = whatever['name']
element.email = whatever['email']
element
end
但是,如果添加索引方法,如:
class Whatever
def []=(name, value)
instance_variable_set("@#{name}", value)
end
end
归结为:
JSON.parse(whatevers, object_class: Whatever)