use std::io::BufWriter;
use surfing::JSONParser;
fn main() -> Result<(), Box<dyn std::error::Error>> {
let mut parser = JSONParser::new();
let input = r#"
System starting at 2023-06-15T14:30:00Z
Configuration loaded: {"debug":true,"port":8080,"timeout":30}
Log level set to INFO
Server listening on {"address":"0.0.0.0","port":8080}
"#;
let mut buffer = Vec::new();
{
let mut writer = BufWriter::new(&mut buffer);
parser.extract_json_from_stream(&mut writer, input)?;
}
let json_only = String::from_utf8(buffer)?;
println!("Original input:\n{}", input);
println!("\nExtracted JSON:\n{}", json_only);
Ok(())
}