module JSON
Public Class Methods
parse(str)
click to toggle source
# File lib/json.rb, line 9 def self.parse(str) return Lexer.new(str).nextvalue end
pretty_generate(obj)
click to toggle source
# File lib/json.rb, line 13 def self.pretty_generate(obj) s = [] self.pretty_generate_recursive(obj, s, "") return s.join("") end
pretty_generate_recursive(obj, stream, indent)
click to toggle source
# File lib/json.rb, line 19 def self.pretty_generate_recursive(obj, stream, indent) if obj.is_a?(Hash) then if obj.size == 0 then stream << "{}" else stream << "{\n" first = true for key, value in obj do if first then first = false else stream << "," << "\n" end stream << indent << " " << key.to_json.chomp << ": " self.pretty_generate_recursive(value, stream, indent + " ") end stream << "\n" << indent << "}" end elsif obj.is_a?(Array) if obj.size == 0 then stream << "[]" else stream << "[\n" first = true for value in obj do if first then first = false else stream << "," << "\n" end stream << indent + " " self.pretty_generate_recursive(value, stream, indent + " ") end stream << "\n" << indent << "]" end else stream << obj.to_json.chomp end end