我正在学习如何使用JSON gem解析和生成JSON。我很容易创建一个数据散列并将其生成到JSON中;然而,当涉及到一个类的实例(比如一个Person实例)并将其所有实例变量放在一个哈希中以将其转换为JSON时,我会有一个大脑放屁。使用JSON gem将自定义对象转换为JSON
这是我遇到的麻烦的例子:
require "json"
class Person
def initialize(name, age, address)
@name = name
@age = age
@address = address
end
def to_json
end
end
p = Person.new('John Doe', 46, "123 Elm Street")
p.to_json
我想创建一个.to_json
方法,这样我可以把一个人对象,都转换成JSON实例变量。我想我需要做的是将所有Person的实例变量,放在一个散列,然后调用JSON.generate(hash)
。我现在正在做一个大脑放屁。那么有人可以帮我完成to_json
方法,或者提出一个更好的实现方法吗?谢谢!
如果您正在使用Rails,那么您已经为您完成了助手,并且您可以轻松地获得想要运行的'.to_hash`或'.to_json`。看看我的来源`author_list`的行动:https://github.com/shybovycha/strong-sword/blob/master/app/controllers/quotes_controller.rb#L29 – shybovycha 2011-01-23 19:09:03