模块 Kernel

私有实例方法

JSON(object, *args) 点击切换源代码

如果 object 类似于字符串,则解析该字符串并返回解析结果作为 Ruby 数据结构。否则,从 Ruby 数据结构对象生成 JSON 文本并返回它。

opts 参数分别传递给 generate/parse。有关其文档,请参阅 generate 和 parse。

# File json/lib/json/common.rb, line 873
def JSON(object, *args)
  if object.is_a?(String)
    return JSON.parse(object, args.first)
  elsif object.respond_to?(:to_str)
    str = object.to_str
    if str.is_a?(String)
      return JSON.parse(object.to_str, args.first)
    end
  end

  JSON.generate(object, args.first)
end
j(*objs) 点击切换源代码

以最短的形式,即单行,将 objs 作为 JSON 字符串输出到 STDOUT。

# File json/lib/json/common.rb, line 851
def j(*objs)
  objs.each do |obj|
    puts JSON::generate(obj, :allow_nan => true, :max_nesting => false)
  end
  nil
end
jj(*objs) 点击切换源代码

以美观的格式,带有缩进并在多行上,将 objs 作为 JSON 字符串输出到 STDOUT。

# File json/lib/json/common.rb, line 860
def jj(*objs)
  objs.each do |obj|
    puts JSON::pretty_generate(obj, :allow_nan => true, :max_nesting => false)
  end
  nil
end