TJSON for Ruby Gem Version Build Status Code Climate MIT licensed

A Ruby implementation of TJSON: Tagged JSON with Rich Types.

https://www.tjson.org

Installation

Add this line to your application's Gemfile:

gem 'tjson'

And then execute:

$ bundle

Or install it yourself as:

$ gem install tjson

Usage

Parsing

To parse a TJSON document, use the TJSON.parse method:

>> TJSON.parse('{"foo:s":"bar"}')
=> {"foo"=>"bar"}

The following describes how TJSON types map onto Ruby types during parsing:

  • Unicode Strings: parsed as Ruby String with Encoding::UTF_8
  • Binary Data: parsed as Ruby String with Encoding::ASCII_8BIT (a.k.a. Encoding::BINARY)
  • Integers: parsed as Ruby Integer (Fixnum or Bignum)
  • Floats (i.e. JSON number literals): parsed as Ruby Float
  • Timestamps: parsed as Ruby Time
  • Arrays: parsed as Ruby Array
  • Objects: parsed as TJSON::Object (a subclass of ::Hash)

Generating

To generate TJSON from Ruby objects, use the TJSON.generate method:

>> puts TJSON.generate({"foo" => "bar"})
{"foo:s:"bar"}

Contributing

Bug reports and pull requests are welcome on GitHub at https://github.com/tjson/tjson-ruby