类 Symbol

公共类方法

json_create(o) 点击切换源代码

参见 as_json.

# File json/lib/json/add/symbol.rb, line 45
def self.json_create(o)
  o['s'].to_sym
end

公共实例方法

as_json(*) 点击切换源代码

方法 Symbol#as_jsonSymbol.json_create 可用于序列化和反序列化 Symbol 对象;参见 Marshal。

方法 Symbol#as_json 序列化 self,返回一个表示 self 的 2 元素哈希表

require 'json/add/symbol'
x = :foo.as_json
# => {"json_class"=>"Symbol", "s"=>"foo"}

方法 JSON.create 反序列化此类哈希表,返回一个 Symbol 对象

Symbol.json_create(x) # => :foo
# File json/lib/json/add/symbol.rb, line 24
def as_json(*)
  {
    JSON.create_id => self.class.name,
    's'            => to_s,
  }
end
to_json(*a) 点击切换源代码

返回一个表示 selfJSON 字符串

require 'json/add/symbol'
puts :foo.to_json

输出

# {"json_class":"Symbol","s":"foo"}
# File json/lib/json/add/symbol.rb, line 40
def to_json(*a)
  as_json.to_json(*a)
end