JsonSubTypes
LitJSON
JsonSubTypes | LitJSON | |
---|---|---|
4 | 1 | |
398 | 1,328 | |
- | 1.4% | |
3.8 | 7.0 | |
2 months ago | 6 months ago | |
C# | C# | |
MIT License | GNU General Public License v3.0 or later |
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.
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
LitJSON
-
Looking for suggestions on storing the level/brick data in an Arkanoid/Brickz type of game.
I think JSON is used reasonably often under the hood for various things in Unity, I certainly use it in all my games. The builtin JSONUtility can do the job, but there are some edge cases (serializing lists without a base class, for example) where it falls over. LitJSON is a simple but comprehensive option if you need more power.
What are some alternatives?
Json.NET - Json.NET is a popular high-performance JSON framework for .NET
MessagePack for C# (.NET, .NET Core, Unity, Xamarin) - Extremely Fast MessagePack Serializer for C#(.NET, .NET Core, Unity, Xamarin). / msgpack.org[C#]
Utf8Json - Definitely Fastest and Zero Allocation JSON Serializer for C#(NET, .NET Core, Unity, Xamarin).
JsonKnownTypes - Simple way to serialize and deserialize polymorphic types for Json.NET
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.
ZeroFormatter - Infinitely Fast Deserializer for .NET, .NET Core and Unity.
Wire - Binary serializer for POCO objects
Msgpack-Cli - MessagePack implementation for Common Language Infrastructure / msgpack.org[C#]
Protobuf - Protocol Buffers - Google's data interchange format