Project

rufus-json

0.01
No commit activity in last 3 years
No release in over 3 years
One interface to various JSON ruby libs (yajl, oj, jrjackson, json, json_pure, json-jruby, active_support). Has a preference for yajl.
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
 Dependencies

Development

>= 0
 Project Readme

rufus-json

One interface for various JSON Ruby backends.

require 'rubygems'

# load your favourite JSON backend
require 'yajl'
#require 'json'
#require 'active_support'

require 'rufus-json' # gem install rufus-json

p Rufus::Json.decode('{"a":2,"b":true}')
p Rufus::Json.load('{"a":2,"b":true}')
  # => { 'a' => 2, 'b' => true }

p Rufus::Json.encode({ 'a' => 2, 'b' => true })
p Rufus::Json.dump({ 'a' => 2, 'b' => true })
  # => '{"a":2,"b":true}'

If multiple libs are present, it will favour yajl-ruby and json, and then active_support. It's OK to force a backend.

Rufus::Json.backend = :yajl
#Rufus::Json.backend = :json
#Rufus::Json.backend = :active

To know if there is currently a backend set :

Rufus::Json.has_backend?

It's OK to load a lib and force detection :

require 'json'
Rufus::Json.detect_backend

p Rufus::Json.backend
  # => :json

There is a dup method, it may be useful in an all JSON system (flattening stuff that will anyway get flattened later).

o = Rufus::Json.dup(o)

require 'rufus-json/automatic'

require 'rufus-json/automatic'

will require 'rufus-json' and load the first JSON lib available (in the order yajl, oj, jrjackson, active_support, json, json/pure.

It is equivalent to

  require 'rufus-json'
  Rufus::Json.load_backend

(the .load_backend method accepts a list/order of backends to try).

issue tracker

http://github.com/jmettraux/rufus-json/issues

irc

irc.freenode.net #ruote

authors

see CREDITS.txt

license

MIT, see LICENSE.txt