Skip to content

mtone/JsonLogic.Net

 
 

Repository files navigation

JsonLogic.Net - JsonLogic implementation in .Net platform

JsonLogic.Net is an implementation of JsonLogic in .Net platform. Implementation includes all supported operators documented on JsonLogic site.

Dependencies

JsonLogic.Net has a hard dependency on Newtonsoft.Json. It is a common library for json handling and very easy to use.

This fork uses SimpleJson embedded source (MIT).

Usage

// The data that the rule will run against. 
object data = new {MyNumber = 8};

// Rule definition retrieved as JSON text
string jsonText="{\">\": [{\"var\": \"MyNumber\"}, 3]}";

// Parse json into hierarchical structure
var rule = JObject.Parse(jsonText);

// Create an evaluator with default operators.
var evaluator = new JsonLogicEvaluator(EvaluateOperators.Default);

// Apply the rule to the data.
object result = evaluator.Apply(rule, data);

The evaluator does not maintain any state and is thread-safe. Depending on your use case, you can add the evaluator as a singleton in your dependency injection container. You can also have multiple evaluators with different custom operations.

About

JsonLogic implementation for .Net

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • C# 99.8%
  • Shell 0.2%