public static IEnumerable <JToken> EvaluateJsonPath(this JToken src, string jsonPath, EvaluatingVisitor evaluator = null) { if (evaluator == null) { evaluator = new EvaluatingVisitor(src); } else { evaluator.Reset(src); } jsonPath.ParseJsonPath().Visit(evaluator); return(evaluator.Result); }
public static EvaluatingVisitor CreateEvaluatorWithFunctions(IDictionary <string, JsonPathCustomFunction> functions) { var visitor = new EvaluatingVisitor(); if (functions != null) { foreach (var fn in functions) { visitor.RegisterFunction(fn.Key, fn.Value); } } return(visitor); }