Bodde.Json.Extensions
1.0.0
Prefix Reserved
dotnet add package Bodde.Json.Extensions --version 1.0.0
NuGet\Install-Package Bodde.Json.Extensions -Version 1.0.0
<PackageReference Include="Bodde.Json.Extensions" Version="1.0.0" />
<PackageVersion Include="Bodde.Json.Extensions" Version="1.0.0" />
<PackageReference Include="Bodde.Json.Extensions" />
paket add Bodde.Json.Extensions --version 1.0.0
#r "nuget: Bodde.Json.Extensions, 1.0.0"
#:package Bodde.Json.Extensions@1.0.0
#addin nuget:?package=Bodde.Json.Extensions&version=1.0.0
#tool nuget:?package=Bodde.Json.Extensions&version=1.0.0
Bodde.Json.Extensions
This package contains lightweight extension methods for serializing and deserializing JSON using System.Text.Json.
It targets .NET Standard 2.0 and supports configurable formatting, enum conversion, default value handling, and JSON files.
Getting Started
Install the package using the .NET CLI:
dotnet add package Bodde.Json.Extensions
Then add the following using statement to your C# code:
using Bodde.Json.Extensions;
Projects reference
| Project | Description | GitHub |
|---|---|---|
Bodde.Json.Extensions |
Main library containing the JSON extension methods. | View project |
Bodde.Json.Extensions.Test |
Automated tests for the library. | View project |
API Reference
| Class | Method | Description |
|---|---|---|
T |
ToJson |
Serializes an object to a JSON string. |
T |
ToFormattedJson |
Serializes an object to a formatted JSON string. |
T |
ToJsonFile |
Serializes an object and writes the JSON to a file. |
T |
ToFormattedJsonFile |
Serializes an object with formatting and writes the JSON to a file. |
string |
FromJson<T> |
Deserializes a JSON string to an object. |
string |
FromFormattedJson<T> |
Deserializes formatted JSON using configurable options. |
string |
FromJsonFile<T> |
Reads a JSON file and deserializes its content. |
string |
FromFormattedJsonFile<T> |
Reads a formatted JSON file and deserializes its content. |
T.ToJson
Serializes an object to a JSON string using System.Text.Json.JsonSerializer.
| Parameter | Type | Default | Description |
|---|---|---|---|
options |
JsonSerializerOptions? |
null |
The options used for serialization. |
Return type: string - The serialized JSON.
var json = employee.ToJson();
T.ToFormattedJson
Serializes an object to a formatted JSON string. By default, output is indented, enums are represented as strings, and properties with default values are omitted.
| Parameter | Type | Default | Description |
|---|---|---|---|
indented |
bool |
true |
Whether to format the JSON with indentation. |
enumsAsStrings |
bool |
true |
Whether to serialize enums as strings. |
skipDefaultValues |
bool |
true |
Whether to omit properties with default values. |
Return type: string - The formatted JSON.
var json = employee.ToFormattedJson();
var compactJson = employee.ToFormattedJson(indented: false);
T.ToJsonFile
Serializes an object to JSON and writes the result to a file.
| Parameter | Type | Default | Description |
|---|---|---|---|
filename |
string |
Required | The path of the file to write. |
options |
JsonSerializerOptions? |
null |
The options used for serialization. |
employee.ToJsonFile("employee.json");
T.ToFormattedJsonFile
Serializes an object with formatting options and writes the result to a file.
| Parameter | Type | Default | Description |
|---|---|---|---|
filename |
string |
Required | The path of the file to write. |
indented |
bool |
true |
Whether to format the JSON with indentation. |
enumsAsStrings |
bool |
true |
Whether to serialize enums as strings. |
skipDefaultValues |
bool |
true |
Whether to omit properties with default values. |
employee.ToFormattedJsonFile("employee.json");
string.FromJson<T>
Deserializes a JSON string to an object of type T using System.Text.Json.JsonSerializer.
| Parameter | Type | Default | Description |
|---|---|---|---|
options |
JsonSerializerOptions? |
null |
The options used for deserialization. |
Return type: T - The deserialized object.
var employee = json.FromJson<Employee>();
string.FromFormattedJson<T>
Deserializes formatted JSON using configurable enum conversion and case-insensitive property matching.
| Parameter | Type | Default | Description |
|---|---|---|---|
enumsAsStrings |
bool |
true |
Whether enum values are represented as strings. |
ignoreCase |
bool |
true |
Whether property name matching ignores case. |
Return type: T - The deserialized object.
var employee = json.FromFormattedJson<Employee>();
string.FromJsonFile<T>
Reads a JSON file and deserializes its content to an object of type T.
| Parameter | Type | Default | Description |
|---|---|---|---|
options |
JsonSerializerOptions? |
null |
The options used for deserialization. |
Return type: T - The deserialized object.
var employee = "employee.json".FromJsonFile<Employee>();
string.FromFormattedJsonFile<T>
Reads a formatted JSON file and deserializes its content using configurable enum conversion and case-insensitive property matching.
| Parameter | Type | Default | Description |
|---|---|---|---|
enumsAsStrings |
bool |
true |
Whether enum values are represented as strings. |
ignoreCase |
bool |
true |
Whether property name matching ignores case. |
Return type: T - The deserialized object.
var employee = "employee.json".FromFormattedJsonFile<Employee>();
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net5.0 was computed. net5.0-windows was computed. net6.0 was computed. 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. |
| .NET Core | netcoreapp2.0 was computed. netcoreapp2.1 was computed. netcoreapp2.2 was computed. netcoreapp3.0 was computed. netcoreapp3.1 was computed. |
| .NET Standard | netstandard2.0 is compatible. netstandard2.1 was computed. |
| .NET Framework | net461 was computed. net462 was computed. net463 was computed. net47 was computed. net471 was computed. net472 was computed. net48 was computed. net481 was computed. |
| MonoAndroid | monoandroid was computed. |
| MonoMac | monomac was computed. |
| MonoTouch | monotouch was computed. |
| Tizen | tizen40 was computed. tizen60 was computed. |
| Xamarin.iOS | xamarinios was computed. |
| Xamarin.Mac | xamarinmac was computed. |
| Xamarin.TVOS | xamarintvos was computed. |
| Xamarin.WatchOS | xamarinwatchos was computed. |
-
.NETStandard 2.0
- System.Text.Json (>= 10.0.12)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.
| Version | Downloads | Last Updated |
|---|---|---|
| 1.0.0 | 81 | 9/20/2026 |