use std::io::stdout;
use surfing::JSONParser;
fn main() -> Result<(), Box<dyn std::error::Error>> {
let mut parser = JSONParser::new();
let input = [
"Starting application\n",
"Debug data: {\"timestamp\":1623766800,\"level\":\"info\",",
"\"message\":\"Application started successfully\"}\n",
"Processing request from 192.168.1.1\n",
"Request payload: {\"id\":42,\"action\":\"get\",",
"\"params\":{\"filter\":\"active\"}}\n"
];
let stdout = stdout();
let mut handle = stdout.lock();
println!("Original input (simulated stream):");
for chunk in &input {
print!("{}", chunk);
}
println!("\n\nExtracted JSON (sent to stdout):");
for chunk in &input {
parser.extract_json_from_stream(&mut handle, chunk)?;
}
println!("\n");
Ok(())
}