Sto imparando come analizzare e generare JSON con la gemma JSON. Sono facilmente in grado di creare un hash di dati e di generarli in JSON; tuttavia, sto avendo una scoreggia cerebrale quando si tratta di prendere un'istanza di una classe (come un'istanza di Person) e di mettere tutte le sue variabili di istanza all'interno di un hash per essere convertite in JSON.Conversione di un oggetto personalizzato in JSON utilizzando la gemma JSON
questo è l'esempio che sto avendo problemi con:
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
voglio creare un metodo .to_json
in modo che possa prendere un oggetto persona ed avere tutte le sue variabili di istanza convertiti in JSON. Quello che penso di dover fare è prendere tutte le variabili di istanza di Person, metterle in un hash quindi chiamare JSON.generate(hash)
. Sto avendo una scoreggia cerebrale su come farlo adesso. Quindi qualcuno può aiutarmi a completare il metodo to_json
o forse suggerire un modo migliore di implementarlo? Grazie!
Se stai utilizzando Rails, l'helper è già pronto per te e puoi ottenere facilmente ciò che desideri eseguire " .to_hash" o " .to_json". Dai un'occhiata alla mia fonte per l'azione 'author_list': https://github.com/shybovycha/strong-sword/blob/master/app/controllers/quotes_controller.rb#L29 –
shybovycha