How ibm/jsonata4java works
JSONata4Java is a Java implementation of the JSONata JSON-query and transformation language. An embedding application supplies a parsed JSON value and expression to the API; the expression is parsed and evaluated against that input, with bindings and built-in functions available, to produce a JSON result. The repository also documents command-line and Swing tester workflows. The excerpts support the API/evaluation and path-expression relationships shown; the function catalog and other unsampled subsystems are represented without guessing their internal dispatch details.
Main entry points: Expression.java Expression API · ExpressionsVisitor.java Evaluation visitor · PathExpression.java Path expressions · Tester.java CLI tester
Components 16
Embedding API
- Expression API
src/main/java/com/api/jsonata4java/Expression.java - Bindings
src/main/java/com/api/jsonata4java/Binding.java
Expression Runtime
- Expression parsing
src/main/java/com/api/jsonata4java/expressions/Expressions.java - Evaluation visitor
src/main/java/com/api/jsonata4java/expressions/ExpressionsVisitor.java - Frame environment
src/main/java/com/api/jsonata4java/expressions/FrameEnvironment.java - Result sequences
src/main/java/com/api/jsonata4java/Sequence.java - Path expressions
src/main/java/com/api/jsonata4java/expressions/path/PathExpression.java - Path traversal
src/main/java/com/api/jsonata4java/expressions/path/PathExpressionVisitor.java
Built-in Functions
- Function catalog
src/main/java/com/api/jsonata4java/expressions/functions - Signature checks
src/main/java/com/api/jsonata4java/Signature.java - Regex engine
src/main/java/com/api/jsonata4java/expressions/regex/RegexEngine.java
Interactive Testers
- CLI tester
src/main/java/com/api/jsonata4java/Tester.java - Swing tester
src/main/java/com/api/jsonata4java/testerui/TesterUI.java
Other components
- Embedding application
- JSON input
- JSON result
Connections 12
- Embedding application → Expression API: calls API
- Embedding application → JSON input: supplies JSON
- Expression API → Expression parsing: parses expression
- Expression API → Evaluation visitor: evaluates tree
- Expression API → Bindings: accepts bindings
- Evaluation visitor → Frame environment: uses variables
- Evaluation visitor → Function catalog: evaluates functions
- Evaluation visitor → JSON input: evaluates against
- Path expressions → Path traversal: visits parsed path
- Expression API → JSON result: returns JSON
- CLI tester → Expression API: runs expressions
- Swing tester → Expression API: evaluates edits