azambrano / JsonDocumentPath

JsonDocumentPath is a class library to extract values from JSON (System.Text.Json.JsonDocument) with single line expressions (JsonPath)

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

JsonDocumentPath

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

NuGet Package

How to use it

  string json = @"{
    ""persons"": [
      {
        ""name""  : ""John"",
        ""age"": ""26""
      },
      {
        ""name""  : ""Jane"",
        ""age"": ""2""
      }
    ]
  }";

var models = JsonDocument.Parse(json);

var results = models.SelectElements("$.persons[?(@.age > 3)]").ToList();

Implementation

Because JsonDocumentPath is using the same Json.net strategic for parsing and evaluation the following is a list of pieces were already implemented:

Filters:

  • ArrayIndexFilter
  • ArrayMultipleIndexFilter
  • ArraySliceFilter
  • FieldFilter
  • FieldMultipleFilter
  • QueryFilter
  • QueryScanFilter
  • RootFilter
  • ScanFilter
  • ScanMultipleFilter

Unit Test:

  • JPathParseTests
  • QueryExpressionTests
  • JPathExecuteTests

About

JsonDocumentPath is a class library to extract values from JSON (System.Text.Json.JsonDocument) with single line expressions (JsonPath)

License:MIT License


Languages

Language:C# 100.0%