Moshi - A modern JSON library for Android and Java

  •        154

Moshi is a modern JSON library for Android and Java. It makes it easy to parse JSON into Java objects. It has has built-in support for reading and writing Java’s core data types like Primitives (int, float, char...), Collections, String, Enum. Moshi uses the same streaming and binding mechanisms as Gson. If you’re a Gson user you’ll find Moshi works similarly.



Related Projects

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.

jstream - Streaming JSON parser for Go

  •    Go

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

djson - Fast Go decoder for dynamic JSON

  •    Go

DJSON is a JSON decoder for Go that is 2~ to 3~ times faster than the standard encoding/json and the existing solutions, when dealing with arbitrary JSON payload. See benchmarks below. It is a good approach for people who are using json.Unmarshal together with interface{}, don't know what the schema is, and still want good performance with minimal changes.While searching for a JSON parser solution for my projects, that is faster than the standard library, with zero reflection tests, allocates less memory and is still safe(I didn't want the "unsafe" package in my production code, in order to reduce memory consumption). I found that almost all implemtations are just wrappers around the standard library and aren't fast enough for my needs. I encountered two projects: ujson that is the UltraJSON implementation and jsonparser, that is a pretty awesome project. ujson seems to be faster than encoding/json but still doesn't meet my requirements. jsonparser seems to be really fast, and I even use it for some of my new projects. However, its API is different, and I would need to change too much of my code in order to work with it. Also, for my processing work that involves ETL, changing and setting new fields on the JSON object, I need to transform the jsonparser result to map[string]interface{} and it seems that it loses its power.

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.

pikkr - JSON parser which picks up values directly without performing tokenization in Rust

  •    Rust

Pikkr is a JSON parser which picks up values directly without performing tokenization in Rust. This JSON parser is implemented based on Y. Li, N. R. Katsipoulakis, B. Chandramouli, J. Goldstein, and D. Kossmann. Mison: a fast JSON parser for data analytics. In VLDB, 2017. This JSON parser performs well when there are a limited number of different JSON structural variants in a JSON data stream or JSON collection, and that is a common case in data analytics field.

jackson - Main Portal page for the Jackson project


This is the home page of the Jackson Project, formerly known as the standard JSON library for Java (or JVM platform in general), or, as the "best JSON parser for Java." Or simply as "JSON 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 (see below). While the actual core components live under their own projects -- including the three core packages (streaming, databind, annotations); data format libraries; data type libraries; JAX-RS provider; and a miscellaneous set of other extension modules -- this project act as the central hub for linking all the pieces together.

Noggit - JSON streaming parser

  •    Java

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

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.

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.

json-parser - Very low footprint JSON parser written in portable ANSI C

  •    C

Very low footprint JSON parser written in portable ANSI C. There is now a makefile which will produce a libjsonparser static and dynamic library. However, this is not required to build json-parser, and the source files (json.c and json.h) should be happy in any build system you already have in place.

Jsmn - World fastest JSON parser/tokenizer

  •    C

jsmn (pronounced like 'jasmine') is a minimalistic JSON parser in C. It can be easily integrated into resource-limited or embedded projects. Most JSON parsers offer you a bunch of functions to load JSON data, parse it and extract any value by its name. jsmn proves that checking the correctness of every JSON packet or allocating temporary objects to store parsed JSON fields often is an overkill.

QJson - Manage JSON objects with Qt

  •    C++

QJson is a qt-based library that maps JSON data to QVariant objects. JSON arrays will be mapped to QVariantList instances, while JSON's objects will be mapped to QVariantMap.

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.

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.

parson - Lightweight JSON library written in C.

  •    C

Parson is a lighweight json library written in C. and copy parson.h and parson.c to you source code tree.

Jodd - The Unbearable Lightness of Java

  •    Java

Jodd is developer-friendly set of Java microframeworks, tools and utilities, under 1.7 MB. Build with common sense to make things simple, but not simpler. Its feature include slick IoC container, elegant MVC framework, unique AOP engine, thin DB-object mapper, standalone transaction manager, focused validation tool, versatile HTML parsers, pages decorator, super properties, powerful BeanUtil, timeless JDateTime, easy email, many super utilities... and more.

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.

jsonparser - Alternative JSON parser for Go that does not require schema (so far fastest)

  •    Go

It does not require you to know the structure of the payload (eg. create structs), and allows accessing fields by providing the path to them. It is up to 10 times faster than standard encoding/json package (depending on payload size and usage), allocates no memory. See benchmarks below.Originally I made this for a project that relies on a lot of 3rd party APIs that can be unpredictable and complex. I love simplicity and prefer to avoid external dependecies. encoding/json requires you to know exactly your data structures, or if you prefer to use map[string]interface{} instead, it will be very slow and hard to manage. I investigated what's on the market and found that most libraries are just wrappers around encoding/json, there is few options with own parsers (ffjson, easyjson), but they still requires you to create data structures.