#serde-json #json #remove #value #serde #path

json_value_remove

提供从 serde_json::Value 元素中删除的接口

4个版本 (稳定)

1.0.2 2021年12月17日
1.0.1 2021年12月6日
1.0.0 2021年9月2日

#2008 in 编码

Download history 49/week @ 2024-03-11 16/week @ 2024-03-18 32/week @ 2024-03-25 96/week @ 2024-04-01 12/week @ 2024-04-08 11/week @ 2024-04-15 19/week @ 2024-04-22 23/week @ 2024-04-29 14/week @ 2024-05-06 31/week @ 2024-05-13 25/week @ 2024-05-20 15/week @ 2024-05-27 28/week @ 2024-06-03 14/week @ 2024-06-10 14/week @ 2024-06-17 18/week @ 2024-06-24

每月下载量 76
2 crates 中使用

MIT/Apache

9KB
87

json_value_remove

Actions Status semantic-release

为 json_serde::Value 提供删除元素的接口。

安装

[dependencies]
json_value_remove = "1.0"

用法

在数组中删除

extern crate json_value_remove;

use json_value_remove::Remove;
use serde_json::Value;

{
    let mut array1: Value = serde_json::from_str(r#"{"my_table":["a","b","c"]}"#).unwrap();
    assert_eq!(Some(Value::String("a".to_string())), array1.remove("/my_table/0").unwrap());
    assert_eq!(r#"{"my_table":["b","c"]}"#, array1.to_string());
}

在对象中删除

extern crate json_value_remove;

use json_value_remove::Remove;
use serde_json::Value;

{
    let mut object1: Value = serde_json::from_str(r#"{"field1.0":{"field1.1":"value1.1","field1.2":"value1.2"},"field2.0":"value2.0"}"#).unwrap();
    assert_eq!(Some(Value::String("value1.2".to_string())), object1.remove("/field1.0/field1.2").unwrap());
    assert_eq!(r#"{"field1.0":{"field1.1":"value1.1"},"field2.0":"value2.0"}"#,object1.to_string());
}

贡献

欢迎提交拉取请求。对于重大更改,请首先打开一个问题来讨论您想要更改的内容。

请确保根据需要更新测试。

许可证

Apache MIT

依赖项

~355–760KB
~17K SLoC