Skip to main content

Crate jsonata_core

Crate jsonata_core 

Source
Expand description

§jsonatapy

A high-performance Rust implementation of JSONata - the JSON query and transformation language - with optional Python bindings via PyO3.

§Rust API

use jsonata_core::parser;
use jsonata_core::evaluator::Evaluator;
use jsonata_core::value::JValue;

let ast = parser::parse("user.name").unwrap();
let data = JValue::from_json_str(r#"{"user":{"name":"Alice"}}"#).unwrap();
let result = Evaluator::new().evaluate(&ast, &data).unwrap();

§Architecture

  • parser - Expression parser (converts JSONata strings to AST)
  • evaluator - Expression evaluator (executes AST against data)
  • functions - Built-in function implementations
  • datetime - Date/time handling functions
  • signature - Function signature validation
  • ast - Abstract Syntax Tree definitions
  • value - JValue type (the runtime value representation)

Modules§

ast
evaluator
functions
parser
value

Macros§

jvalue
Macro for constructing JValue literals, similar to serde_json::json!