модуль ActiveSupport::JSON
Константы
- DATETIME_REGEX
- DATE_REGEX
-
соответствует датам в формате YAML
Общедоступные методы класса
# File activesupport/lib/active_support/json/decoding.rb, line 22
def decode(json)
data = ::JSON.parse(json, quirks_mode: true)
if ActiveSupport.parse_json_times
convert_dates_from(data)
else
data
end
end Парсит строку JSON (JavaScript Объект Notation) в хэш. Дополнительную информацию см. на сайте www.json.org.
ActiveSupport::JSON.decode("{\"team\":\"rails\",\"players\":\"36\"}")
=> {"team" => "rails", "players" => "36"} # File activesupport/lib/active_support/json/encoding.rb, line 21 def self.encode(value, options = nil) Encoding.json_encoder.new(options).encode(value) end
Выводит объекты в формате JSON (JavaScript Объект Notation). Дополнительную информацию см. на сайте www.json.org.
ActiveSupport::JSON.encode({ team: 'rails', players: '36' })
# => "{\"team\":\"rails\",\"players\":\"36\"}"
# File activesupport/lib/active_support/json/decoding.rb, line 42 def parse_error ::JSON::ParserError end
Возвращает класс ошибки, которая будет возбуждена при возникновении ошибки при декодировании JSON. Использование этого метода означает, что вы не будете напрямую зависеть от реализации JSON ActiveSupport, на случай, если она изменится в будущем.
begin
obj = ActiveSupport::JSON.decode(some_string)
rescue ActiveSupport::JSON.parse_error
Rails.logger.warn("Attempted to decode invalid JSON: #{some_string}")
end
© 2004–2018 David Heinemeier Hansson
Licensed under the MIT License.