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

json_value_remove

Interface to remove serde_json::Value elements

4 releases (stable)

1.0.2 Dec 17, 2021
1.0.1 Dec 6, 2021
1.0.0 Sep 2, 2021

#2167 in Encoding

Download history 11/week @ 2024-07-21 16/week @ 2024-07-28 9/week @ 2024-08-04 59/week @ 2024-08-11 108/week @ 2024-08-18 15/week @ 2024-08-25 7/week @ 2024-09-01 13/week @ 2024-09-08 9/week @ 2024-09-15 37/week @ 2024-09-22 19/week @ 2024-09-29 9/week @ 2024-10-06 16/week @ 2024-10-13 13/week @ 2024-10-20 23/week @ 2024-10-27 41/week @ 2024-11-03

94 downloads per month
Used in 2 crates

MIT/Apache

9KB
87 lines

json_value_remove

Actions Status semantic-release

Give an interface to remove element into a json_serde::Value.

Installation

[dependencies]
json_value_remove = "1.0"

Usage

Remove in an array:

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());
}

Remove in an objects:

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());
}

Contributing

Pull requests are welcome. For major changes, please open an issue first to discuss what you would like to change.

Please make sure to update tests as appropriate.

License

Apache MIT

Dependencies

~0.5–1MB
~20K SLoC