method
from_json
rails latest stable - Class:
ActiveModel::Serializers::JSON
from_json(json, include_root = include_root_in_json)public
Sets the model attributes from a JSON string. Returns self.
class Person include ActiveModel::Serializers::JSON attr_accessor :name, :age, :awesome def attributes=(hash) hash.each do |key, value| send("#{key}=", value) end end def attributes instance_values end end json = { name: 'bob', age: 22, awesome:true }.to_json person = Person.new person.from_json(json) # => #<Person:0x007fec5e7a0088 @age=22, @awesome=true, @name="bob"> person.name # => "bob" person.age # => 22 person.awesome # => true
The default value for include_root is false. You can change it to true if the given JSON string includes a single root node.
json = { person: { name: 'bob', age: 22, awesome:true } }.to_json person = Person.new person.from_json(json, true) # => #<Person:0x007fec5e7a0088 @age=22, @awesome=true, @name="bob"> person.name # => "bob" person.age # => 22 person.awesome # => true