Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

jmespath-extensions

The core Rust library providing 400+ extended JMESPath functions.

Installation

Add to your Cargo.toml:

[dependencies]
jmespath-extensions = "0.8"

Quick Start

use jmespath_extensions::search;
use serde_json::json;

fn main() {
    let data = json!({"name": "hello world"});
    let result = search("upper(name)", &data).unwrap();
    assert_eq!(result, json!("HELLO WORLD"));
}

Features

The library uses feature flags to control which function categories are included:

  • full - All functions (default)
  • core - String, array, object, math, type, utility (no external deps)
  • Individual categories: string, array, hash, datetime, regex, etc.
# Minimal build with just core functions
jmespath-extensions = { version = "0.8", default-features = false, features = ["core"] }

# Just what you need
jmespath-extensions = { version = "0.8", default-features = false, features = ["string", "datetime"] }

API Documentation

Full API documentation is available on docs.rs:

jmespath-extensions on docs.rs

The rustdoc includes:

  • All public functions with examples
  • Function signatures and parameter types
  • Category organization
  • Feature flag requirements for each function