Uczę się, jak analizować i generować JSON z klejnotem JSON. Z łatwością mogę utworzyć mieszankę danych i wygenerować ją w JSON; jednak mam do czynienia z mózgowym pierdołem, jeśli chodzi o wzięcie instancji klasy (takiej jak instancja Person) i umieszczenie wszystkich jej zmiennych instancji w haszach w JSON.Przekształcanie niestandardowego obiektu w JSON przy użyciu JSON gem
Jest to przykład mam problemy z:
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
Chcę utworzyć metodę .to_json
tak, że mogę wziąć obiekt osoba i mieć wszystkich swoich zmiennych instancji przekształcone JSON. Myślę, że muszę pobrać wszystkie zmienne instancji osoby, umieścić je w haszyszu, a następnie wywołać JSON.generate(hash)
. Mam pomysł, jak to zrobić w tej chwili. Czy ktoś może mi pomóc w ukończeniu metody to_json
, czy może zaproponuje lepszy sposób jej implementacji? Dzięki!
Jeśli używasz Railsów, helper jest już dla ciebie gotowy i możesz łatwo uzyskać to, co chcesz, uruchamiając ' .to_hash' lub' .to_json'. Zobacz moje źródło dla akcji 'author_list': https://github.com/shybovycha/strong-sword/blob/master/app/controllers/quotes_controller.rb#L29 –
shybovycha