A fully compliant implementation of JMESPATH for .NetCore
Switch branches/tags
Nothing to show
Clone or download
jdevillard
Latest commit 355dbef Apr 16, 2018
Permalink
Failed to load latest commit information.
bin fix - correct name for snk.crypted Mar 17, 2017
src
tests/jmespathnet.tests Delete - Removed project.lock.json files. Mar 23, 2017
tools/jmespathnet.compliance Delete - Removed project.lock.json files. Mar 23, 2017
.gitignore New - Updated project description. Feb 24, 2017
LICENSE Initial commit Feb 24, 2017
README.md Change - Added simple usage instructions to README.md. Mar 2, 2017
_config.yml Set theme jekyll-theme-cayman Mar 23, 2017
appveyor.yml fix - change nuget apikey appveyor.yml Mar 16, 2018
global.json Change - Switched the Parse() method overloads to public in order to … May 31, 2017
jmespath.net.sln Refactor - Moved shared code back to one of the jmespath projects to … Mar 8, 2017

README.md

JmesPath.Net

A fully compliant implementation of JMESPATH for .Net Core.

Build status

Getting started

Using the parser

JmesPath.Net uses Newtonsoft.Json to handle JSON and comes with a simple to use parser:

using DevLab.JmesPath;

const string input = @"{ \"foo\": \"bar\" }";
const string expression = "foo";

var jmes = new JmesPath();
var result = jmes.Transform(input, expression);

The JmesPath.Transform method accepts and produces well formed JSON constructs (object, array or string, boolean, number and null values). In the example above, the result is a JSON string token, including the quotes.

using Newtonsoft.Json.Linq;

System.Diagnostics.Debug.Assert(result == "\"bar\"");

var token = JToken.Parse(result);
var text = token.ToString();

System.Diagnostics.Debug.Assert(text == "bar");