labs-labs mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Yonik Seeley" <yo...@apache.org>
Subject Apache Lab proposal: noggit
Date Fri, 24 Nov 2006 21:56:02 GMT
As an ASF committer, I proposal the creation of a new Apache Lab,
called "noggit".

Noggit, the streaming JSON parser.

JSON is becoming increasingly important on the web as a lightweight
serialization format.
For example, JSON is becoming more widely used in web services from
Yahoo and Google.

There is a need for an "industrial strength" JSON parser for Java with
the following features:
 - Streaming API (StAX/pull-parser like) for both easy and efficient parsing
 - Conforms to the JSON standard: http://www.ietf.org/rfc/rfc4627.txt
    - Can adhere strictly to the standard (not a superset like
existing parsers), preferably by default
 - Memory efficiency
    - incremental parsing (Reader-based) in order to handle huge messages
    - a single byte of state needed per nested object or array
    - does not read large objects (including primitives) completely
into memory unless asked
    - can eliminate most copying, allowing the user to provide the
output buffer for values
 - no built in size limits for primitives (less than 2GB)
    - can even handle keys of any size in a map
 - can handle primitives of *any* size (does not attempt to parse
numerics into a certain language primitives unless asked)
 - Fast!

Other features would most likely include serialization to JSON, and
creation of Java objects from JSON (most likely List, Map, etc).

Current status of code:
  I started thinking about how to do this quite a while ago, but just
started hacking on some code this week after seeing the Apache Labs.
I have some working code that shows great promise (on a preliminary
test, it's almost 3 times as fast as the StAX parser built into
Java6).

-Yonik

---------------------------------------------------------------------
To unsubscribe, e-mail: labs-unsubscribe@labs.apache.org
For additional commands, e-mail: labs-help@labs.apache.org


Mime
View raw message