0.01
No commit activity in last 3 years
No release in over 3 years
Ruby gem for mapping JSON data structures to Ruby classes
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
 Dependencies

Development

>= 0.9.8
>= 2.10.3

Runtime

>= 1.4.3
 Project Readme

JSON Mapper¶ ↑

by Trond Arve Nordheim - Binary Marbles

NOTICE¶ ↑

This is a project under heavy development. The API is far from stable yet, and the code is very unclean in some places. The API won’t be considered stable until full tests are available verifying that all functionality is working as expected.

Description¶ ↑

A Ruby gem for mapping data from JSON data structures into Ruby class representations.

Features¶ ↑

  • Simple one to one mappings

  • Complex mappings (many to one)

  • Associations

  • Type checking

Usage¶ ↑

Simple one to one mapping¶ ↑

class Model

  include JSONMapper

  # Map the "id" attribute from the JSON data structure to the id attribute of the class,
  # using Integer as the data type
  json_attribute :id, Integer

  # Map the "model_title" attribute from the JSON data structure to the title attribute of
  # the class, using String as the data type
  json_attribute :title, :model_title, String

end

Complex many to one mapping¶ ↑

class Model

  include JSONMapper

  # Map the "id", "model_id" or "modelid" attribute (whatever is located first) from the
  # JSON data structure to the id attribute of the class, using Integer as the data type
  json_attribute :id, [ :id, :model_id, :modelid ], Integer

end

Associations¶ ↑

class AssociatedClass

  include JSONMapper

  # Map the "id" of the JSON data structure to the id attribute of the class, using
  # Integer as the data type
  json_attribute :id, Integer

end

class Model

  include JSONMapper

  # Map the "association" attribute from the JSON data structure to an instance of
  # the AssociatedClass class, mapping it to the association attribute of the class.
  json_attribute :association, AssociatedClass 

  # Map all entries in the "associations" array from the JSON data structure to
  # an array of AssociatedClass instances, mapping them to the associations attribute
  # of the class
  json_attributes :associations, AssociatedClass 

end

Requirements¶ ↑

Installation¶ ↑

$ gem install json_mapper

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.

  • 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 I can ignore when I pull)

  • Send me a pull request. Bonus points for topic branches.

Copyright © 2010 Trond Arve Nordheim. See LICENSE for details.