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