from_json(json, include_root=include_root_in_json)
Instance Public methods
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) # => #<Person:0x007fec5e7a0088 @age=22, @awesome=true, @name="bob"> person.name # => "bob" person.age # => 22 person.awesome # => true
Please login to continue.