Skip to content
This repository

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP

Ruby JSON pretty-printer

branch: master
README.textile

JsonPrinter allows you to convert arbitrarily nested Ruby data structures into
human-and-machine-readable JSON output. The input data can be any combination
of arrays, hashes, symbols, strings, numbers, times, and false, true, and nil values.


  data = 
   {"attribute" => "value",
    "blank" => nil,
    "list" => 
      [true,
       2,
       "elem_number_three"],
    "nested_hash" =>
      {"key" => 7,
       "other_key" => 13.5}}
  
  JsonPrinter.render(data)
  #=>
  {"nested_hash":
   {"other_key": 13.5,
    "key": 7},
   "list":
    [true,
     2,
     "elem_number_three"],
   "blank": null,
   "attribute": "value"}

  JSON.parse(JsonPrinter.render(data)) == data
  #=> true

The printer recognizes instances of ActiveSupport::OrderedHash or other Hash-like objects responding to #keys and will render their attributes in order:


  data = 
    ActiveSupport::OrderedHash.new(
      [["foo", "bar"], ["biz", "bat"], ["cat", "hat"]])
      
  JsonPrinter.render(data)
  #=>
  {"foo": "bar",
   "biz": "bat",
   "cat", "hat"}

Copyright 2009 Mark McGranaghan and released under an MIT license.

Something went wrong with that request. Please try again.