Json.NET
JsonSubTypes
Our great sponsors
Json.NET | JsonSubTypes | |
---|---|---|
53 | 4 | |
10,516 | 389 | |
- | - | |
3.7 | 3.4 | |
11 days ago | 26 days ago | |
C# | C# | |
MIT License | MIT License |
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
- stopDoingJson
-
Should you use Newtonsoft.Json or System.Text.Json in 2023?
This bug and many others related to time: https://github.com/JamesNK/Newtonsoft.Json/issues/862 And they will never get fixes, because the project is kind of dead. Edit: and actually, the creator claim to have made it like this on purpose, so I don't trust it anymore.
-
Removing default values while serializing using Newtonsoft.Json
There's a related discussion on the GitHub repo:
-
React developer to NET
Nuget is where you'll get 3rd party libraries (such as Newtonsoft.Json for JSON processing)
- what library do i need to include for this json deserializer? (or how do i find what libs i need to include in general?)
- How do you normally store large raw json string into a variable in your code in C#?
-
Best practice for organizing multiple classes (new to programming)
Common convention (with rare exceptions) is to name your project the same as your assembly name and default namespace. For example, Newtonsoft.Json.csproj makes an assembly called Newtonsoft.Json.dll with the default namespace of Newtonsoft.Json. Inside that project directory (which usually also has the same name), subdirectories would match namespaces nested inside the default, like in that example there is a folder named Serialization which contains classes that are all in the namespace Newtonsoft.Json.Serialization. Classes in this nested namespace can automatically access classes defined in parent namespaces without extra using statements, like how JsonProperty.cs can reference JsonConverter from the Newtonsoft.Json namespace, but it needs a using statement at the top of the file in order to access classes from the sibling namespace Newtonsoft.Json.Utilities
-
market data GET HttpClient json requests vs net sdk wrapper functions
As I said, I'm not familiar with C# but on a quick Google it seems there isn't one idiomatic way to handle JSON in C# - instead a multitude of different libraries/packages for doing so. This seems... ...irritating. json.NET (https://www.newtonsoft.com/json) seems to be one of the best (but again, I don't know C#).
-
How easy is Monogame for a beginner coming from game engines?
MonoGame abstracts a lot of the rendering work and is easy to use for 2D games (I haven't tested its 3D support so far). It also provides you with a content pipeline plus audio and input handlers. All that's left for you to do is roll your own Entity Component System, physics, and game logic. If you're not interested in writing your own physics, there are libraries out there already. Additionally, if you don't want to get caught up in the details of data serialization, Json.NET is a great package for serializing data in JSON format. That makes it perfect when paired with a map editor such as Tiled, which can export to JSON.
-
Does SerializeObject from NewtonSoftJson translate property names based on the environment language?
Also file an issue report with Newtonsoft because IMO that should not be happening.
JsonSubTypes
- .Net 6 - Rest Api is deserializing property of "object" type to JsonElement type (System.Text.Json)
-
An API receives different message types
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?
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?
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?
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.