8 个版本 (2 个稳定版)
1.0.1 | 2021 年 12 月 17 日 |
---|---|
0.1.3 | 2021 年 12 月 7 日 |
0.1.2 | 2021 年 12 月 6 日 |
0.1.1 | 2020 年 9 月 28 日 |
0.1.0 | 2020 年 8 月 30 日 |
在 编码 分类中排名 1818
每月下载量 61 次
在 chewdata 中使用
13KB
86 行
json_value_search
提供搜索 json_serde::Value 中值的功能。
安装
[dependencies]
json_value_search = "1.0"
用法
extern crate json_value_search;
use json_value_search::Search;
use serde_json::Value;
let value: Value = serde_json::from_str(r#"{"field_A":[{"field.B":"value_B"},{"field_C":"value_C"}]}"#).unwrap();
let value_expected_with_wildcard: Value = serde_json::from_str(r#"[{"field.B":"value_B"},{"field_C":"value_C"}]"#).unwrap();
assert_eq!(Some(value_expected_with_wildcard),value.clone().search(r#"/field_A/*"#));
let value_expected_for_specific_field: Value = serde_json::from_str(r#"["value_B"]"#).unwrap();
assert_eq!(Some(value_expected_for_specific_field),value.clone().search(r#"/field_A/*/field.B"#));
let value_expected_for_specific_index: Value = serde_json::from_str(r#"{"field.B":"value_B"}"#).unwrap();
assert_eq!(Some(value_expected_for_specific_index),value.clone().search(r#"/field_A/0"#));
let value_expected_with_regex: Value = serde_json::from_str(r#"["value_B","value_C"]"#).unwrap();
assert_eq!(Some(value_expected_with_regex),value.clone().search(r#"/field_A/*/field.+"#));
有用链接
贡献
欢迎提交拉取请求。对于重大更改,请先提交问题讨论您想进行哪些更改。
请确保根据需要更新测试。
许可证
依赖项
~2.6–4MB
~71K SLoC