Sharpener.Json
0.1.0
See the version list below for details.
dotnet add package Sharpener.Json --version 0.1.0
NuGet\Install-Package Sharpener.Json -Version 0.1.0
<PackageReference Include="Sharpener.Json" Version="0.1.0" />
<PackageVersion Include="Sharpener.Json" Version="0.1.0" />
<PackageReference Include="Sharpener.Json" />
paket add Sharpener.Json --version 0.1.0
#r "nuget: Sharpener.Json, 0.1.0"
#:package Sharpener.Json@0.1.0
#addin nuget:?package=Sharpener.Json&version=0.1.0
#tool nuget:?package=Sharpener.Json&version=0.1.0
<img src="images/icon-white-stroke-40px.png" align="right" style="height: 40px;" />
Sharpener.Json
A small scoped package that extends the base Sharpener
package as well as System.Text.Json
for serialization and deserializationn.
Table of Contents
Features
The Sharpener.Json
package focuses on features for the basic runtime layer's json tooling.
- An
object
WriteJson
extension. - A
string
ReadJsonAs<T>
extension. - Configuration options for default behavior of these extensions.
- Type parameters for outlier serialization handling scenarios.
Installation
Navigate to the directory of your .csproj file and then run this command
dotnet add package Sharpener.Json
or
PM> Install-Package Sharpener.Json
Usage
WriteJson
To serialize something, you can now just write this.
var json = item.WriteJson();
Want it to stop writing indented? Create a writer.
/// <summary>
/// A serializer for System.Text.Json that does not indent.
/// </summary>
public class JsonRawWriter : IJsonWriter
{
private static JsonSerializerOptions s_options = new JsonSerializerOptions { WriteIndented = false };
/// <inheritdoc/>
public Func<object, string> Write => model => JsonSerializer.Serialize(model, s_options);
}
And now you can either explicitly use it, or register it as the default. Register as default:
SharpenerJsonSettings.SetDefaultWriter<JsonRawWriter>();
var json = item.WriteJson();
Explicit call, which is better for scenarios where you'd prefer not to change the default and you're accomodating an outlier scenario.
var json = item.WriteJson<JsonRawWriter>();
ReadJsonAs<TResult>
Let's deserialize something. I've got some text that can deserilialize to an Item
.
var item = json.ReadJsonAs<Item>();
And similar to the WriteJson
options above, you can add a custom deserializer of your own for ReadJsonAs
as well.
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET | net6.0 is compatible. net6.0-android was computed. net6.0-ios was computed. net6.0-maccatalyst was computed. net6.0-macos was computed. net6.0-tvos was computed. net6.0-windows was computed. net7.0 was computed. net7.0-android was computed. net7.0-ios was computed. net7.0-maccatalyst was computed. net7.0-macos was computed. net7.0-tvos was computed. net7.0-windows was computed. net8.0 was computed. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. net9.0 was computed. net9.0-android was computed. net9.0-browser was computed. net9.0-ios was computed. net9.0-maccatalyst was computed. net9.0-macos was computed. net9.0-tvos was computed. net9.0-windows was computed. net10.0 was computed. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
-
net6.0
- Sharpener (>= 0.1.0)
NuGet packages (1)
Showing the top 1 NuGet packages that depend on Sharpener.Json:
Package | Downloads |
---|---|
Sharpener.Rest
Quality of life tools for C# with respect to http and rest requests. |
GitHub repositories
This package is not used by any popular GitHub repositories.
Version | Downloads | Last Updated |
---|---|---|
1.0.1 | 190 | 9/2/2025 |
1.0.0 | 165 | 8/30/2025 |
0.2.4 | 260 | 9/29/2023 |
0.2.3 | 207 | 9/27/2023 |
0.2.2 | 198 | 9/27/2023 |
0.2.1 | 200 | 9/27/2023 |
0.2.0 | 192 | 9/22/2023 |
0.1.9 | 212 | 9/20/2023 |
0.1.8 | 182 | 9/14/2023 |
0.1.6 | 155 | 9/13/2023 |
0.1.5 | 246 | 4/17/2023 |
0.1.2 | 359 | 12/10/2022 |
0.1.1 | 369 | 12/8/2022 |
0.1.0 | 367 | 12/8/2022 |
0.1.0-alpha.1 | 150 | 12/8/2022 |