JsonDocumentPath is a class library to extract values from JSON (System.Text.Json.JsonDocument) with single line expressions
The JsonPath parser is based on the Newtonsoft.Json
string json = @"{ ""persons"": [ { ""name"" : ""John"", ""age"": ""26"" }, { ""name"" : ""Jane"", ""age"": ""2"" } ] }"; var models = JsonDocument.Parse(json); var results = models.SelectElements("$.persons[?(@.age > 3)]").ToList();
Because JsonDocumentPath is using the same Json.net strategic for parsing and evaluation the following is a list of pieces were already implemented:
- ArrayIndexFilter
- ArrayMultipleIndexFilter
- ArraySliceFilter
- FieldFilter
- FieldMultipleFilter
- QueryFilter
- QueryScanFilter
- RootFilter
- ScanFilter
- ScanMultipleFilter
- JPathParseTests
- QueryExpressionTests
- JPathExecuteTests
- JsonNodeParseTests
- JsonNodePathExecuteTests
- JsonNodeQueryExpressionTests
- JsonNodeRefTests