Some extension methods to help playing with JSON data.
2 nuget packages are now available using Newtonsoft.Json API for one and System.Text.Json API for the other.
A very simple library providing some extension methods around NewtonSoft.Json library.
I've been using most of these extensions in several projects since 2012 and just decided it's time to make it public (some parts were already available on SO).
var json = obj.WriteToJsonString();
obj.WriteToJsonFile("data.json");
The stream can automatically be closed when done
var obj = aStream.CreateFromJsonStream<MyType>();
or kept open for further use
var obj = aStream.CreateFromJsonPersistentStream<MyType>();
var obj = "{\"key\":\"value\"}".CreateFromJsonString<MyType>();
var obj = "data.json".CreateFromJsonFile<MyType>();
A library similar to ZTn.Json.Helpers but based on System.Text.Json API.
Note that the method names and signatures are different from the other package.
var json = obj.ToJson();
or get an indented string:
var json = obj.ToPrettyJson();
obj.WriteAsJson("data.json");
or indent the file using:
obj.WriteAsPrettyJson("data.json");
var obj = aStream.ReadAsJson<MyType>();
var obj = "{\"key\":\"value\"}".FromJson<MyType>();
var obj = "data.json".ReadAsJson<MyType>();
- These methods support an optional parameter of type JsonSerializerOptions for configuration.
- The sub-namespace "Migration" allows to use the same API as Ztn.Helpers.Json but based on System.Text.Json, allowing (I hope) an easy transition.