3 个不稳定版本
0.2.0 | 2023 年 7 月 21 日 |
---|---|
0.1.1 | 2023 年 7 月 17 日 |
0.1.0 | 2023 年 7 月 17 日 |
#2211 in 编码
31KB
757 行
JSON 操作符
一组工具,用于操作 serde_json::Values。
partial_cmp
JOPS 提供了一个比较两个 serde_json::Value 的函数。
示例
partial_cmp 函数。
use std::cmp::Ordering;
use serde_json::Value;
let a = Value::Null;
let b = Value::Null;
let res : Ordering = jops::partial_cmp(&a, &b);
JsonValue 包装器提供了 partial_cmp。
use jops;
use serde_json::Value;
let a = jops::JsonValue(&Value::Null);
let b = jops::JsonValue(&Value::Null);
let res = a > b;
JsonPath
一个 SQLite JSON Path 实现。访问对象或数组内的值。
操作符
$
表示根值.<name>
指向对象内具有键name
的子值<name>[<index>]
指向数组name
中索引为index
的值(零索引)<name>[#-<offset>]
指向数组name
中长度减去偏移量的值<index>
指向根数组中索引为index
的值(零索引)
示例
let value = serde_json::json!({ "a": "example", "b": [0,1,2] });
value.path("$"); // Returns a reference to value
value.path("$.a"); // Returns a reference to the String value "example"
value.path("$.b[1]"); // Returns a reference to the Number value 1 inside the array b
value.path("$.b[#-1]"); // Returns a reference to the Number value 1 inside the array b
let value = serde_json::json!([0,2]);
value.path("1"); // Returns a reference to the Number value 2 inside the array
许可证
根据您的选择,在 Apache License, Version 2.0 或 MIT 许可证 下许可。
依赖
~0.5–1MB
~20K SLoC