модуль ActiveSupport::JSON
Константы
- DATETIME_REGEX
- DATE_REGEX
-
соответствует датам в формате YAML
Публичные методы класса
# File activesupport/lib/active_support/json/decoding.rb, line 20
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 19 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 40 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.