[][src]Module streamson_lib::handler::unstringify

Handler which unstringifies matched data it can be used e.g. shorten long strings "{\"aa\": {\"bb\":2}, \"cc\": \"dd\"}" -> {"aa": {"bb": 2}, "cc": "dd"}

Example

use streamson_lib::{handler, matcher, strategy};
use std::sync::{Arc, Mutex};

let handler = Arc::new(Mutex::new(handler::Unstringify::new()));
let matcher = matcher::Simple::new(r#"{"stringified_strings"}[]"#).unwrap();

let mut convert = strategy::Convert::new();

// Set the matcher for convert strategy
convert.add_matcher(Box::new(matcher), vec![handler]);

for input in vec![
    br#"{"stringified_strings": ["\"string\"", "{}", "[]"]}"#.to_vec(),
] {
    for converted_data in convert.process(&input).unwrap() {
        println!("{:?} (len {})", converted_data, converted_data.len());
    }
}

Structs

Unstringify

Handler which unstringifies the matched data