class ActiveModel::Errors

def as_json(options = nil)

person.errors.as_json(full_messages: true) # => {:name=>["name cannot be nil"]}
person.errors.as_json # => {:name=>["cannot be nil"]}

if the json object should contain full messages or not (false by default).
object. You can pass the :full_messages option. This determines
Returns a Hash that can be used as the JSON representation for this
def as_json(options = nil)
  to_hash(options && options[:full_messages])
end