use surfing::extract_json_to_string;
fn main() -> Result<(), Box<dyn std::error::Error>> {
let inputs = [
"System log: {\"level\":\"info\",\"component\":\"auth\",\"message\":\"User logged in\"} at 2023-06-15",
"Error occurred: {\"code\":500,\"details\":{\"reason\":\"Database connection failed\"}}",
"Metrics: [1, 2, 3, 4, 5] recorded at 12:34:56",
"Configuration: {\"debug\":true,\"environment\":\"production\"} loaded successfully",
];
println!("Extracting JSON from various text inputs:\n");
for (i, input) in inputs.iter().enumerate() {
let json = extract_json_to_string(input)?;
println!("Input {}: {}", i + 1, input);
println!("Extracted JSON: {}\n", json);
}
let complex_input = "First config: {\"id\":1} Second config: {\"id\":2} Third: {\"id\":3}";
println!("Complex input with multiple JSON objects: {}", complex_input);
let extracted = extract_json_to_string(complex_input)?;
println!("All extracted: {}", extracted);
Ok(())
}