Noggit - JSON streaming parser

  •        374

Noggit is the world's fastest streaming JSON parser for Java. It is used in Apache Solr.
Its features include:

  • Fast! Measured as the fastest JSON parser on char[], String input.
  • Streaming API (StAX/pull-parser like) for both easy and efficient parsing.
  • Conforms to JSON standard: http://www.ietf.org/rfc/rfc4627.txt
  • Conforms to JSON standard: http://rfc7159.net/rfc7159
  • Memory efficiency:
    • Incremental parsing (Reader-based) in order to handle huge messages.
    • A single byte of state needed per nested object or array.
    • Doesn't read large objects (including primitives) into memory unless asked.
    • Can eliminate most copying, allowing user to provide value output buffers.
  • Can handle primitives of any size (does not attempt to parse numerics into a certain language primitive unless asked).
  • Simple serialization of objects (List, Map, etc).
  • Optional creation of objects (List, Map, etc) when parsing.

https://github.com/yonik/noggit

Tags
Implementation
License
Platform

   




Related Projects

Jackson - Best JSON parser for Java

  •    Java

Jackson is one of best JSON parser for Java. More than that, Jackson is a suite of data-processing tools for Java (and the JVM platform), including the flagship streaming JSON parser / generator library, matching data-binding library (POJOs to and from JSON) and additional data format modules to process data encoded in Avro, BSON, CBOR, CSV, Smile, (Java) Properties, Protobuf, XML or YAML; and even the large set of data format modules to support data types of widely used data types such as Guava, Joda, PCollections and many, many more.

Flexjson - Lightweight JSON parser

  •    Java

Flexjson is a lightweight library for serializing Java objects into JSON. What's different about Flexjson is it's control over what gets serialized allowing both deep and shallow copies of objects.

jsonstreamingparser - A JSON streaming parser implementation in PHP.

  •    PHP

This is a simple, streaming parser for processing large JSON documents. Use it for parsing very large JSON documents to avoid loading the entire thing into memory, which is how just about every other JSON parser for PHP works. For more details, I've written up a longer explanation of the JSON streaming parser that talks about pros and cons vs. the standard PHP JSON parser.

Jackson JSON - JSON Parser in Java

  •    Java

Jackson is a multi-purpose Java library for processing JSON data format. This project contains core low-level incremental ("streaming") parser and generator abstractions used by Jackson Data Processor. It also includes the default implementation of handler types (parser, generator) that handle JSON format.

JsonFx.NET - JSON serialization framework for .NET

  •    CSharp

JsonFx v2.0 - JSON serialization framework for .NET. It has unified interface for reading / writing JSON, BSON, XML, JsonML. It implements LINQ-to-JSON, Supports reading/writing using DataContract, XmlSerialization, JsonName, attributes and lot more.


jstream - Streaming JSON parser for Go

  •    Go

jstream is a streaming JSON parser and value extraction library for Go.

python-rapidjson - Python wrapper around rapidjson

  •    C++

RapidJSON is an extremely fast C++ JSON parser and serialization library: this module wraps it into a Python 3 extension, exposing its serialization/deserialization (to/from either bytes, str or file-like instances) and JSON Schema validation capabilities. Latest version documentation is automatically rendered by Read the Docs.

omniparser - omniparser: a native Golang ETL streaming parser and transform library for CSV, JSON, XML, EDI, text, etc

  •    Go

Omniparser is a native Golang ETL parser that ingests input data of various formats (CSV, txt, fixed length/width, XML, EDI/X12/EDIFACT, JSON, and custom formats) in streaming fashion and transforms data into desired JSON output based on a schema written in JSON. In the example folders above you will find pairs of input files and their schema files. Then in the .snapshots sub directory, you'll find their corresponding output files.

fastjson - Fast JSON Processor

  •    Java

Fastjson is a Java library that can be used to convert Java Objects into their JSON representation. It can also be used to convert a JSON string to an equivalent Java object. Fastjson can work with arbitrary Java objects including pre-existing objects that you do not have source-code of.

JSON-java - A reference implementation of a JSON package in Java

  •    Java

A reference implementation of a JSON package in Java. The files in this package implement JSON encoders/decoders in Java. It also includes the capability to convert between JSON and XML, HTTP headers, Cookies, and CDL.

json - JSON for Modern C++

  •    C++

Intuitive syntax. In languages such as Python, JSON feels like a first class data type. We used all the operator magic of modern C++ to achieve the same feeling in your code. Check out the examples below and you'll know what I mean.Trivial integration. Our whole code consists of a single header file json.hpp. That's it. No library, no subproject, no dependencies, no complex build system. The class is written in vanilla C++11. All in all, everything should require no adjustment of your compiler flags or project settings.

spray-json - A lightweight, clean and simple JSON implementation in Scala

  •    Scala

spray-json is a lightweight, clean and efficient JSON implementation in Scala. spray-json is available from maven central.

easyjson - Fast JSON serializer for golang.

  •    Go

Package easyjson provides a fast and easy way to marshal/unmarshal Go structs to/from JSON without the use of reflection. In performance tests, easyjson outperforms the standard encoding/json package by a factor of 4-5x, and other JSON encoding packages by a factor of 2-3x. easyjson aims to keep generated Go code simple enough so that it can be easily optimized or fixed. Another goal is to provide users with the ability to customize the generated code by providing options not available with the standard encoding/json package, such as generating "snake_case" names or enabling omitempty behavior by default.

HandyJSON - A handy swift json-object serialization/deserialization library

  •    Swift

HandyJSON is a framework written in Swift which to make converting model objects( pure classes/structs ) to and from JSON easy on iOS.Compared with others, the most significant feature of HandyJSON is that it does not require the objects inherit from NSObject(not using KVC but reflection), neither implements a 'mapping' function(writing value to memory directly to achieve property assignment).

oboe.js - A streaming approach to JSON.

  •    Javascript

Oboe.js is an open source Javascript library for loading JSON using streaming, combining the convenience of DOM with the speed and fluidity of SAX. It can parse any JSON as a stream, is small enough to be a micro-library, doesn't have dependencies, and doesn't care which other libraries you need it to speak to.

Json-lib - Java library for transforming objects and collections to JSON

  •    Java

Json-lib is a java library for transforming beans, maps, collections, java arrays and XML to JSON and back again to beans and DynaBeans.

ServiceStack text - NET's fastest JSON, JSV and CSV Text Serializers

  •    CSharp

ServiceStack.Text is an independent, dependency-free serialization library that contains ServiceStack's text processing functionality, including: JsonSerializer, TypeSerializer (JSV-Format), CsvSerializer, T.Dump extension method, StringExtensions - Xml/Json/Csv/Url encoding, BaseConvert, Rot13, Hex escape, etc., Stream, Reflection, List, DateTime, etc extensions and utils.

JSONiJ - JSON in Java

  •    Java

JSONiJ is a JSON Parser, JPath Implementation and Marshaller implemented in Java. Its easy to use and it has good performance.

JSONSL - Embeddable, Fast, Streaming, Non-Buffering JSON Parser

  •    C

JSONSL is JSON Stateful (or Simple, or Stacked, or Searchable, or Streaming) Lexer.It is inspired by YAJL. It is Stateful, Decoupling Object Graph from Data, Callback oriented, selectively, Non Buffering,






We have large collection of open source products. Follow the tags from Tag Cloud >>


Open source products are scattered around the web. Please provide information about the open source projects you own / you use. Add Projects.