rails parse online example ruby-on-rails json ruby hashmap

ruby-on-rails - parse - json ruby on rails example



¿Cómo convertir un objeto hash rubí a JSON? (2)

¿Cómo convertir un objeto hash rubí a JSON? Así que estoy tratando este ejemplo a continuación y no funciona?

Estaba mirando el objeto RubyDoc y obviamente el objeto Hash no tiene un método to_json . Pero estoy leyendo en blogs que Rails admite active_record.to_json y también admite hash#to_json . Puedo entender que ActiveRecord es un objeto de Rails, pero Hash no es nativo de Rails, es un objeto Ruby puro. Así que en Rails puedes hacer un hash.to_json , pero no en Ruby puro ??

car = {:make => "bmw", :year => "2003"} car.to_json


Una de las numerosas sutilezas de Ruby es la posibilidad de ampliar las clases existentes con sus propios métodos. Eso se llama "reapertura de clase" o parches de mono (aunque el significado de este último puede variar ).

Por lo tanto, eche un vistazo aquí:

car = {:make => "bmw", :year => "2003"} # => {:make=>"bmw", :year=>"2003"} car.to_json # NoMethodError: undefined method `to_json'' for {:make=>"bmw", :year=>"2003"}:Hash # from (irb):11 # from /usr/bin/irb:12:in `<main>'' require ''json'' # => true car.to_json # => "{"make":"bmw","year":"2003"}"

Como puede ver, el requerimiento de json ha traído mágicamente el método a to_json a nuestro Hash .


require ''json/ext'' # to use the C based extension instead of json/pure puts {hash: 123}.to_json