BlendJson 1.0.1
dotnet add package BlendJson --version 1.0.1
NuGet\Install-Package BlendJson -Version 1.0.1
<PackageReference Include="BlendJson" Version="1.0.1" />
<PackageVersion Include="BlendJson" Version="1.0.1" />
<PackageReference Include="BlendJson" />
paket add BlendJson --version 1.0.1
#r "nuget: BlendJson, 1.0.1"
#:package BlendJson@1.0.1
#addin nuget:?package=BlendJson&version=1.0.1
#tool nuget:?package=BlendJson&version=1.0.1
BlendJson
This library allows describe flexible JSON configurations. It allows to move some sections of JSON to external files. It will produce single JSON after loading which can be mapped to specific C# class.
This library is based on Newtonsoft Json.NET. Configuration format is fully compatible with normal JSON.
Example 1.
This example demonstrates JSON settings, separated to multiple files and the result of loading. It achieved by using special directives, whose names starts with symbol @.
Content Settings.json
{
"NormalProperty": "HelloWorld",
"Colors": {
"@LoadFrom": "Colors"
},
"Websites": [
"google.com",
{
"@MergeArrayWith": "Websites"
}
],
"RemoteService": {
"Url": "http://localhost:9999/",
"@MergeWith": "RemoteCredentials"
}
}
Content Colors.json
[ "Red", "Green", "Blue" ]
Content Websites.json
[
"microsoft.com",
"apple.com"
]
Content RemoteCredentials.json
{
"UserName": "adam",
"Password": "sandler"
}
Result of merging Settings.json
{
"NormalProperty": "HelloWorld",
"Colors": [ "Red", "Green", "Blue" ],
"Websites": [
"google.com",
"microsoft.com",
"apple.com"
],
"RemoteService": {
"UserName": "adam",
"Password": "sandler",
"Url": "http://localhost:9999/"
}
}
You can find more examples in unit tests: https://github.com/3da/BlendJson/tree/master/BlendJson.Tests
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET | net7.0 is compatible. 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. |
-
net7.0
- Microsoft.Extensions.DependencyInjection.Abstractions (>= 3.1.32)
- Newtonsoft.Json (>= 13.0.3)
NuGet packages (4)
Showing the top 4 NuGet packages that depend on BlendJson:
Package | Downloads |
---|---|
BlendJson.Templating
Package Description |
|
BlendJson.ExternalDataSources
Package Description |
|
BlendJson.Serialization
Package Description |
|
BlendJson.DocumentationLib
Package Description |
GitHub repositories
This package is not used by any popular GitHub repositories.
Version | Downloads | Last Updated |
---|---|---|
1.0.1 | 164 | 9/4/2025 |
1.0.0 | 199 | 8/26/2025 |
1.0.0-pre0 | 192 | 8/26/2025 |