JonasFX.NetJson

JSON parsing, generation and reflective class-insertion library for .NET


Keywords
json, parsing, generation, class-insertion, insertion, c#, vb, .net, serialize, stringify, deserialize, csharp, dotnet
License
Unlicense
Install
Install-Package JonasFX.NetJson -Version 1.0.1

Documentation

NetJson

JSON parsing, generation and reflective class-insertion library for .NET

Gitter Issues Nuget Donate

You can use this library in everything you want, for free. (Even commercially!) You don't even need to credit me.

Example using insertion

using NetJson;

// Simple data structure
class TestClassA
{
    [JsonField] public TestClassB[] Array;
    [JsonField] public List<TestClassB> Collection;
    [JsonField] public TestClassB Object;
    class TestClassB
    {
        [JsonField("named_field")] public string NamedField;
    }
}

class Program
{
    static TestClassA Test;
    static void Main(string[] args)
    {
        // You can use JSON.ParseTo<T>(JSON) to create an object instance out of JSON.
        Test = JSON.ParseTo<TestClassA>(System.IO.File.ReadAllText("values.json"));
        
        // You can use JSON.StringifyFrom<T>(Instance) to create JSON out of an object instance.
        JSON.StringifyFrom<TestClassA>(Test);
    }
}

Example without insertion

using NetJson;

class Program
{
    static TestClassA Test;
    static void Main(string[] args)
    {
        // You can use JSON.Parse(Object) to create an object out of JSON. (Possible: JsonObject, JsonArray, ...)
        JsonObject obj = JSON.Parse(System.IO.File.ReadAllText("values.json"));
        Console.WriteLine("Name: " + (string)obj["name"]);
        
        // You can use JSON.Stringify(Object) to create JSON out of a JSON-compatible type.
        obj["name"] = Console.ReadLine();
        JSON.Stringify(obj);
    }
}