Corvus.Text.Json.JsonPath
5.1.5
dotnet add package Corvus.Text.Json.JsonPath --version 5.1.5
NuGet\Install-Package Corvus.Text.Json.JsonPath -Version 5.1.5
<PackageReference Include="Corvus.Text.Json.JsonPath" Version="5.1.5" />
<PackageVersion Include="Corvus.Text.Json.JsonPath" Version="5.1.5" />
<PackageReference Include="Corvus.Text.Json.JsonPath" />
paket add Corvus.Text.Json.JsonPath --version 5.1.5
#r "nuget: Corvus.Text.Json.JsonPath, 5.1.5"
#:package Corvus.Text.Json.JsonPath@5.1.5
#addin nuget:?package=Corvus.Text.Json.JsonPath&version=5.1.5
#tool nuget:?package=Corvus.Text.Json.JsonPath&version=5.1.5
Corvus.Text.Json.JsonPath
JSONPath (RFC 9535) query language evaluator for Corvus.Text.Json.
Provides a high-performance, zero-allocation compiled-delegate evaluator for JSONPath expressions. Compiled expressions are cached and reused automatically.
Usage
using Corvus.Text.Json.JsonPath;
JsonElement data = JsonElement.ParseValue("""{"store":{"book":[{"title":"A"},{"title":"B"}]}}"""u8);
JsonElement result = JsonPathEvaluator.Default.Query("$.store.book[*].title", data);
// result is ["A","B"]
Custom Functions
Register custom functions via the JsonPathEvaluator constructor. Use the JsonPathFunction factory for simple signatures, or implement IJsonPathFunction directly for full control:
var evaluator = new JsonPathEvaluator(
new Dictionary<string, IJsonPathFunction>
{
["ceil"] = JsonPathFunction.Value((v, ws) =>
JsonPathCodeGenHelpers.IntToElement((int)Math.Ceiling(v.GetDouble()), ws)),
["is_fiction"] = JsonPathFunction.Logical(v =>
v.ValueKind == JsonValueKind.String && v.ValueEquals("fiction"u8)),
});
JsonElement result = evaluator.Query("$.store.book[?ceil(@.price)==9].title", data);
Packages
| Package | Description |
|---|---|
Corvus.Text.Json.JsonPath |
Runtime evaluator (this package) |
Corvus.Text.Json.JsonPath.CodeGeneration |
Expression → C# source code |
Corvus.Text.Json.JsonPath.SourceGenerator |
Roslyn incremental source generator |
| 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 is compatible. 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 is compatible. 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 is compatible. |
| .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
- Corvus.Text.Json (>= 5.1.5)
- System.Collections.Immutable (>= 10.0.7)
-
.NETStandard 2.1
- Corvus.Text.Json (>= 5.1.5)
- System.Collections.Immutable (>= 10.0.7)
-
net10.0
- Corvus.Text.Json (>= 5.1.5)
-
net9.0
- Corvus.Text.Json (>= 5.1.5)
NuGet packages (1)
Showing the top 1 NuGet packages that depend on Corvus.Text.Json.JsonPath:
| Package | Downloads |
|---|---|
|
Corvus.Text.Json.JsonPath.CodeGeneration
Code generation engine for Corvus.Text.Json.JsonPath — parses JSONPath (RFC 9535) expressions and emits optimized C# evaluation code. |
GitHub repositories
This package is not used by any popular GitHub repositories.