Advanced Features¶ ↑
Optimized JSON (Oj), as the name implies, was written to provide speed optimized JSON handling. It was designed as a faster alternative to Yajl and other common Ruby JSON parsers. So far it has achieved that, and is about 2 times faster than any other Ruby JSON parser, and 3 or more times faster at serializing JSON.
Oj has several dump
or serialization
modes which control how Ruby Object
s are converted to JSON. These modes are set with the
:mode
option in either the default options or as one of the
options to the dump
method. In addition to the various options
there are also alternative APIs for parsing JSON.
The fastest alternative parser API is the Oj::Doc
API. The
Oj::Doc
API takes a completely different approach by opening a
JSON document and providing calls to navigate
around the JSON while it is open. With this
approach, JSON access can be well over 20 times
faster than conventional JSON parsing.
The Oj::Saj
and Oj::ScHandler
APIs are callback
parsers that walk the JSON document depth first
and makes callbacks for each element. Both callback parser are useful when
only portions of the JSON are of interest.
Performance up to 20 times faster than conventional JSON is possible if only a few elements of the JSON are of interest.