json-logic-java
json-logic-java copied to clipboard
A pure Java implementation of JsonLogic without using the Nashorn JS engine
This change implements a new functional interface, called 'Macro' and adds functionality to add operations implementing this interface. Such an operation can be added using a symbolic name and calling...
Since the TextNode from the jackson library [implements the iterable interface](https://fasterxml.github.io/jackson-databind/javadoc/2.4/com/fasterxml/jackson/databind/node/TextNode.html) the isEligible method of ArrayLike returns true for that type of parameter. This can cause issues if the only...
JsonLogic: ```json { "reduce" : [ [1], {"var":""}, 0] } ``` As Java: ```java String expression = "{ \"reduce\" : [ [1], {\"var\":\"\"}, 0] }"; Map data = new HashMap();...
JsonLogic: ```json { "var": [ "a", { "var": "b" } ] } ``` Data: ```json {"b": 123} ``` As Java: ```java String expression = "{ \"var\": [\"a\", { \"var\": \"b\"...
Whenever JsonLogic's `apply` method is called for a json rule, it puts the json rule in a cache called `parseCache` in `src/JsonLogic.java` and creates a JsonLogicNode object from the stringified...
The version of both dependencies (Gson and JUnit) is old and contains vulnerabilities.