jsonite icon indicating copy to clipboard operation
jsonite copied to clipboard

A lightweight, fast and compliant JSON serializer/deserializer/validator for .NET

jsonite

Jsonite is a lightweight JSON serializer and deserializer for .NET

var obj = (JsonObject)Json.Deserialize(@"{""name"": ""John"", ""age"": 26}")

Jsonite provides the following features:

  • The implementation should be ECMA-404 and RFC 4627 compliant. If you find any issues please log an issue!
  • Single file serializer/deserializer that can be embedded directly into a project.
  • Default implementation serializing/deserializing from/to JsonObject / JsonArray
  • Method Json.Validate to validate a json object
  • Precise error with line/column when deserializing an invalid json text.
  • Very fast and very low GC memory pressure when deserializing/serializing compare to other JSON libraries.
  • Simple pluggable API to allow to deserialize/serialize from/to other kinds of .NET objects (through the JsonReflector class)
  • Default implementation does not use Reflection or Expression to serialize/deserialize to .NET JsonObject/JsonArray.

Jsonite is easily embeddable for quickly decoding/encoding JSON without relying on an external Json library.

Usage and Compilation

As this library is intended to be embedded and compiled directly from your project, we don't provide a nuget package.

Instead, you can for example use this repository as a git sub-module of your project and reference directly the file Jsonite.cs

The code is compatible with PCL .NET 4.5+, CoreCLR, CoreRT and UWP10.

Limitations

Jsonite does not provide a deserializer/serializer from/to an arbitrary object graph. Prefers using a more complete solution like Json.NET.

License

This software is released under the BSD-Clause 2 license.

Author

Alexandre Mutel aka xoofx.