跳至内容 跳至搜索
方法
D
E
L
P

常量

DATETIME_REGEX = /\A(?:\d{4}-\d{2}-\d{2}|\d{4}-\d{1,2}-\d{1,2}[T \t]+\d{1,2}:\d{2}:\d{2}(\.[0-9]*)?(([ \t]*)Z|[-+]\d{2}?(:\d{2})?)?)\z/
 
DATE_REGEX = /\A\d{4}-\d{2}-\d{2}\z/
 

匹配 YAML 格式的日期

类公共方法

decode(json)

JSON 字符串(JavaScript Object Notation)解析为哈希表。有关更多信息,请参见 www.json.org

ActiveSupport::JSON.decode("{\"team\":\"rails\",\"players\":\"36\"}")
=> {"team" => "rails", "players" => "36"}
也称为: load
# 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

dump(value, options = nil)

别名: encode

encode(value, options = nil)

也称为: dump
# File activesupport/lib/active_support/json/encoding.rb, line 22
def encode(value, options = nil)
  Encoding.json_encoder.new(options).encode(value)
end

load(json)

别名: decode

parse_error()

返回在解码 JSON 时发生错误时将引发的错误的类。使用此方法意味着你不会直接依赖 ActiveSupport 的 JSON 实现,以防将来发生变化。

begin
  obj = ActiveSupport::JSON.decode(some_string)
rescue ActiveSupport::JSON.parse_error
  Rails.logger.warn("Attempted to decode invalid JSON: #{some_string}")
end
# File activesupport/lib/active_support/json/decoding.rb, line 43
def parse_error
  ::JSON::ParserError
end