module JrJackson::Json

Constants

TIME_REGEX

Public Class Methods

dump(object, options = {}) click to toggle source
# File lib/jrjackson/jrjackson.rb, line 56
def dump(object, options = {})
  case object
  when Hash, Array, String, ::Java::JavaUtil::Map, ::Java::JavaUtil::List
    JrJackson::Base.generate(object, options)
  when true, false
    object.to_s
  when nil
    'null'
  else
    if object.respond_to?(:to_json)
      object.to_json
    elsif object.respond_to?(:to_s)
      object.to_s
    else
      object
    end
  end
end
Also aliased as: generate
generate(object, options = {})
Alias for: dump
load(json_source, options = nil) click to toggle source
# File lib/jrjackson/jrjackson.rb, line 33
def load(json_source, options = nil)
  if json_source.is_a?(String) && is_time_string?(json_source)
    return JrJackson::Raw.parse_raw("\"#{json_source}\"")
  end

  if options && !options.empty?
    if options.size == 1 && !!options[:raw]
      return JrJackson::Java.parse_raw(json_source, options)
    end
    if options.size == 1 && !!options[:symbolize_keys]
      return JrJackson::Ruby.parse_sym(json_source, options)
    end
    if options.size == 2 && !!options[:raw] && !!options[:use_bigdecimal]
      return JrJackson::Java.parse(json_source, options)
    end
    # JrJackson::Raw.parse(json_source, options)
    JrJackson::Ruby.parse(json_source, options)
  else
    # JrJackson::Raw.parse_str(json_source)
    JrJackson::Ruby.parse(json_source, nil)
  end
end
Also aliased as: parse
load_java(json_source, options = nil) click to toggle source
# File lib/jrjackson/jrjackson.rb, line 29
def load_java(json_source, options = nil)
  JrJackson::Java.parse(json_source, options)
end
Also aliased as: parse_java
load_ruby(json_source, options = nil) click to toggle source
# File lib/jrjackson/jrjackson.rb, line 25
def load_ruby(json_source, options = nil)
  JrJackson::Ruby.parse(json_source, options)
end
Also aliased as: parse_ruby
parse(json_source, options = nil)
Alias for: load
parse_java(json_source, options = nil)
Alias for: load_java
parse_ruby(json_source, options = nil)
Alias for: load_ruby
sc_load(handler, json_source, options = nil) click to toggle source
# File lib/jrjackson/jrjackson.rb, line 21
def sc_load(handler, json_source, options = nil)
  JrJackson::Sch.parse(handler, json_source, options)
end
Also aliased as: sc_parse
sc_parse(handler, json_source, options = nil)
Alias for: sc_load
sj_load(handler, json_source, options = nil) click to toggle source
# File lib/jrjackson/jrjackson.rb, line 17
def sj_load(handler, json_source, options = nil)
  JrJackson::Saj.parse(handler, json_source, options)
end
Also aliased as: sj_parse
sj_parse(handler, json_source, options = nil)
Alias for: sj_load

Private Class Methods

is_time_string?(json_source) click to toggle source
# File lib/jrjackson/jrjackson.rb, line 84
def is_time_string?(json_source)
  json_source =~ TIME_REGEX
rescue => e
  raise JrJackson::ParseError, e.message
end