JsonHelper.Net
1.1.3
dotnet add package JsonHelper.Net --version 1.1.3
NuGet\Install-Package JsonHelper.Net -Version 1.1.3
<PackageReference Include="JsonHelper.Net" Version="1.1.3" />
<PackageVersion Include="JsonHelper.Net" Version="1.1.3" />
<PackageReference Include="JsonHelper.Net" />
paket add JsonHelper.Net --version 1.1.3
#r "nuget: JsonHelper.Net, 1.1.3"
#:package JsonHelper.Net@1.1.3
#addin nuget:?package=JsonHelper.Net&version=1.1.3
#tool nuget:?package=JsonHelper.Net&version=1.1.3
Newtonsoft.Json helper
Extension methods for Newtonsoft.Json library.
Now you can select JSON tokens by paths without nullability checks:
var json = JToken.Parse("{\"hello\":\"world\"}");
// Newtonsoft.Json approach
var worldToken = json.SelectToken("$.world");
var worldTokenValue = worldToken?.ToObject<string>();
if (worldToken == null || worldTokenValue == null) {
throw Exception("Expected 'world' token");
}
// JsonHelper.Net approach
var world = json.SelectStringOrThrow("$.world");
You can also select .NET native types like Guid or DateTime:
// {"guid":"b3f3f9bc-8b7d-4199-971b-6c35152412da","date":"2024-01-05T00:00:00.0000000"}
Guid guid = json.SelectGuid("$.guid")
DateTime date = json.SelectDate("$.date");
// use `SelectGuidOrThrow` or 'SelectDateOrThrow' if expected non-nullable value
If you need to select raw complex JToken objects, the helper provides some useful methods:
// {"dict":{"body":["a","b","c",{"foo":"bar"}]}}
JToken body = json.SelectOrThrow("$.dict.body", JTokenType.Array);
Selecting List<T>:
// {"list":[1, -0.92, 3.47, 4]}
var list = json.SelectListOrThrow<float>("$.list");
Installation
dotnet add package JsonHelper.Net --version 1.1.3
Nuget page is here
Contribution
Pull requests are welcome! I will gladly review any feature suggestions and consider them for inclusion in the library.
| 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
- Newtonsoft.Json (>= 13.0.4)
NuGet packages (2)
Showing the top 2 NuGet packages that depend on JsonHelper.Net:
| Package | Downloads |
|---|---|
|
Hometrica.Sdk
.NET Sdk for Hometrica.Server |
|
|
Viklover.Radsel
Radsel CCU API .NET Client |
GitHub repositories
This package is not used by any popular GitHub repositories.