Wednesday, January 25, 2012

Jackson as Binding Framework for JSON

 

For folks who have used JSON as the message format between different tiers of your application, identifying the best possible binding framework must have been tough. With maturity coming into play with time for JSON, there are a host of binding engines. One of the fastest and lightweight I came across is Jackson. Yes you heard it right – that’s the name of the framework!

 

JSON shows a lot of promise due to its low payload size and structure and frameworks to support it will soon pick up steam. Now let’s get down to some results.

 

Jackson is a multi-purpose Java library for processing JSON. Jackson aims to be the best possible combination of fast, correct, lightweight, and ergonomic for developers.

 

Consideration Points

·         Performance oriented framework and lightweight

·         Fastest marshaling / unmarshalling processing

·         Supports Annotations

·         Supports utilization of generated models with ease (with mix-in annotations)

·         Jackson JSON processor is by default an Open Source product, available under: Apache License (AL) 2.0 & LGPL 2.1

·         Joda date time library support

·         Hibernate data type support

·         Supports non-Java JVM languages also e.g. Groovy, Scala, Clojure

·         Relatively more active project vs other frameworks available in market

·         Clean specifications available

 

 


 

Considering the "bigger is better" aspect -- value measured, "tps", is number of documents read, written, or read-modify-written per second -- difference from slowest (google-gson) to fastest (Jackson) is a solid order of magnitude.

 

 

No comments: