Really simple JSON and XML parsing, ripped from Merb and Rails.
Ruby Shell
Latest commit 71ef643 Dec 2, 2015 @jnunemaker Release 0.4.3
Failed to load latest commit information.
lib Release 0.4.3 Dec 2, 2015
script Correct gem name in release script Jun 5, 2013
test Fix for key mangling when using multiple dates Nov 30, 2015
.gitignore Ignore lock file. Jul 16, 2013
Gemfile Matchy is not needed anymore. Jul 14, 2014
History updated changelog Feb 21, 2010
LICENSE Initial commit to crack. Mar 29, 2009 Added travis.yml Feb 14, 2015
crack.gemspec Bump safe_yaml dependency "~> 0.9.0" -> "~> 1.0.0" Jan 8, 2014


Build Status

Really simple JSON and XML parsing, ripped from Merb and Rails. The XML parser is ripped from Merb and the JSON parser is ripped from Rails. I take no credit, just packaged them for all to enjoy and easily use.


  • ruby 1.8.7
  • ruby 1.9+ (3 failures related to time parsing, would love it if someone could figure them out)

note on patches/pull requests

  • Fork the project.
  • Make your feature addition or bug fix.
  • Add tests for it. This is important so I don't break it in a future version unintentionally.
  • script/test - this will bootstrap and run the tests
  • Commit, do not mess with rakefile, version, or history. (if you want to have your own version, that is fine but bump version in a commit by itself in another branch so I can ignore when I pull)
  • Send me a pull request. Bonus points for topic branches.


gem 'crack' # in Gemfile
require 'crack' # for xml and json
require 'crack/json' # for just json
require 'crack/xml' # for just xml


Crack::XML.parse("<tag>This is the contents</tag>")
# => {'tag' => 'This is the contents'}

Crack::JSON.parse('{"tag":"This is the contents"}')
# => {'tag' => 'This is the contents'}


Copyright (c) 2009 John Nunemaker. See LICENSE for details.