2 个版本
使用旧的 Rust 2015
0.1.1 | 2017年8月26日 |
---|---|
0.1.0 | 2016年12月16日 |
494 在 #query
16KB
322 行
jmespath-macros
jmespath-macros
包提供用于静态编译 JMESPath 表达式的 jmespath!
宏。
通过静态编译 JMESPath 表达式,您在编译时而不是在运行时付出了解析和编译 JMESPath 表达式的代价,并且可以确信如果您的程序可以编译,该表达式是有效的。
注意: 这只适用于 nightly 编译器。
#![feature(plugin)]
#![plugin(jmespath_macros)]
extern crate jmespath;
fn main() {
// Create our statically compiled expression. The build will fail
// if the expression is invalid.
let expr = jmespath!("foo.bar");
// Parse some JSON data into a JMESPath variable
let json_str = r#"{"foo": {"bar": true}}"#;
let data = jmespath::Variable::from_json(json_str).unwrap();
let result = expr.search(data).unwrap();
assert_eq!(true, result.as_boolean().unwrap());
}
lib.rs
:
此包提供用于静态编译 JMESPath 表达式的 jmespath!
宏。
通过静态编译 JMESPath 表达式,您在编译时而不是在运行时付出了解析和编译 JMESPath 表达式的代价,并且可以确信如果您的程序可以编译,该表达式是有效的。
注意:这只适用于 nightly 编译器。
#![feature(plugin)]
#![plugin(jmespath-macros)]
extern crate jmespath;
fn main() {
// Create our statically compiled expression. The build will fail
// if the expression is invalid.
let expr = jmespath!("foo.bar");
// Parse some JSON data into a JMESPath variable
let json_str = "{\"foo\":{\"bar\":true}}";
let data = jmespath::Variable::from_json(json_str).unwrap();
let result = expr.search(data).unwrap();
assert_eq!(true, result.as_boolean().unwrap());
}