[−][src]Function mmap_json_file::filter
pub fn filter<'a, T: 'static + Default, F>(
f: String,
filter: F,
o: String
) -> Result<ReturnValues> where
T: DeserializeOwned + Debug + Clone + Send + Serialize,
F: Fn(T) -> bool,
Filter the contents of a json file with filter specified and write the output to file specified.
Arguments
f
Filename and full accesislbe path of the input json filefilter
A closure that can handle an input parameter of type T.o
Filename and full accesislbe path of the output json file.
Input types
T
The type of the structure.F
Closure template with input function type.
Example usage
use mmap_json_file; use serde::{Deserialize, Serialize}; #[derive(Serialize, Deserialize, Debug, Clone, Default)] struct TestSimple { a: Option<String>, c: Option<String>, } #[derive(Serialize, Deserialize, Debug, Clone, Default)] struct TestSimpleNested { b: Option<TestSimple>, c: Option<String>, } #[derive(Serialize, Deserialize, Debug, Clone, Default)] struct TestSimpleCompound { a: Option<TestSimpleNested>, f: Option<String>, } let filter = |record: TestSimple| -> bool { record.a.unwrap() == "b" }; let _res = mmap_json_file::filter::<TestSimple, Box<dyn Fn(TestSimple) -> bool>>( "data/test_simple.json".to_string(), Box::new(filter), "output.json".to_string(), );