Преобразование настраиваемого объекта в JSON с помощью драгоценного камня JSON

Я учусь анализировать и генерировать JSON с помощью драгоценного камня JSON. Я легко могу создать хэш данных и сгенерировать их в JSON; тем не менее, у меня возникает головокружение, когда дело доходит до того, чтобы взять экземпляр класса (например, экземпляр Person) и поместить все его переменные экземпляра в хэш для преобразования в 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 или, возможно, предложить лучший способ его реализации? Спасибо!

5
задан Benjamin Oakes 16 April 2012 в 21:28
поделиться