Jil - dotnet core package a day - 7
Overview
This post is part of a series, dotnet core package a day, where for 15 days I will be posting an overview of an awesome OSS dotnet package that already has support for dotnet core. In this post we will cover Jil.
A fast JSON (de)serializer, built on Sigil with a number of somewhat crazy optimization tricks.
Jil is a fast JSON serialization library. There are some very interesting numbers to quantify "fast" available here. At the time of writing it has 163,674 downloads on NuGet. It's latest stable version, v2.15.0, was published on the 9th January 2017. This publish updated it's Sigil dependency and also added dotnet core support (.net standard 1.6).
Jil development is led by Kevin Montrose. There have been ~20 community contributors and the project is actively developed.
I have started to look at using Jil where there is a genuine need for a faster serializer. It is a really great option to have available on dotnet core and is used heavily in production at Stack Overflow.
What the community thinks
Thanks again to Kevin, and the wider community.
Links
Alternatives
Alternatives include the widely used Newtonsoft.Json. Even the Jil documentation suggests that it's focus on speed can hinder usability, so do consider how appropriate it is.
Jil can be more difficult to use than other JSON libraries due to it's focus on speed, rather than flexibility or ease of use, above all else.
Newtonsoft.Json added dotnet core support in it's v9.0.1 release, and has had over 50,000,000 downloads on NuGet.
If you don't want to keep checking back for more posts in this series but do want an email in your inbox then you can subscribe to the mailing list below.