Json.NET VS JsonSubTypes

Compare Json.NET vs JsonSubTypes and see what are their differences.

Json.NET

Json.NET is a popular high-performance JSON framework for .NET (by JamesNK)
Our great sponsors
  • InfluxDB - Power Real-Time Data Analytics at Scale
  • WorkOS - The modern identity platform for B2B SaaS
  • SaaSHub - Software Alternatives and Reviews
Json.NET JsonSubTypes
53 4
10,516 389
- -
3.7 3.4
11 days ago 26 days ago
C# C#
MIT License MIT License
The number of mentions indicates the total number of mentions that we've tracked plus the number of user suggested alternatives.
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.

Json.NET

Posts with mentions or reviews of Json.NET. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2023-12-09.

JsonSubTypes

Posts with mentions or reviews of JsonSubTypes. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2021-09-04.
  • .Net 6 - Rest Api is deserializing property of "object" type to JsonElement type (System.Text.Json)
    1 project | /r/dotnet | 17 Jul 2022
  • An API receives different message types
    1 project | /r/csharp | 8 Sep 2021
    If messages are arriving as Json you can use JsonSubTypes to deserialize to different DTOs based on the UUIDs (https://github.com/manuc66/JsonSubTypes) and then use the visitor pattern to dispatch the DTOs to the correct method.
  • What is your preferred way of creating application specific files for a local application?
    3 projects | /r/csharp | 4 Sep 2021
    Personally I've had good success with JsonSubTypes for deserializing discriminated unions from JSON. It'll serialize stuff into the right type, and then you just need a switch statement to typecast it afterwards.
  • How to create a data-driven software product that indicates pre-coded functionality?
    1 project | /r/csharp | 9 Jun 2021
    There is a small use case that I consider valid for this. It would be for determining a set of pre-defined behaviors to make available to definitions of entities in a game. And the json data would not be coming from external sources, it would be tightly controlled by me as the developer. The response you made to the other comment on my post shared a link that said the practice shouldn't be done with untrusted data, and there would be no untrusted data since there'd be no external data. The article also mentions to restrict the types that can be deserialized, and that is definitely possible. The architecture pattern for this is ECS (Entity Component System) and the data-drive portion might have been a mis-naming of my post, it's more of a lot of the design of entities and components is stored in data files, and there are a few cases where I will want to associate certain functionality in the code with these data entity definitions. No operating system level functionality would be exposed. I've even been referred to a library available via nuget that will allow for what I'm attempting to do: https://github.com/manuc66/JsonSubTypes

What are some alternatives?

When comparing Json.NET and JsonSubTypes you can also consider the following projects:

Utf8Json - Definitely Fastest and Zero Allocation JSON Serializer for C#(NET, .NET Core, Unity, Xamarin).

MessagePack for C# (.NET, .NET Core, Unity, Xamarin) - Extremely Fast MessagePack Serializer for C#(.NET, .NET Core, Unity, Xamarin). / msgpack.org[C#]

JsonKnownTypes - Simple way to serialize and deserialize polymorphic types for Json.NET

Protobuf.NET - Protocol Buffers library for idiomatic .NET

LitJSON - JSON library for the .Net framework

Wire - Binary serializer for POCO objects

Jil - Fast .NET JSON (De)Serializer, Built On Sigil

Protobuf - Protocol Buffers - Google's data interchange format

ProtoBuf - C# code generator for reading and writing the protocol buffers format

Bois - Salar.Bois is a compact, fast and powerful binary serializer for .NET Framework. With Bois you can serialize your existing objects with almost no change.