use c12_parser::{
parse_ini, parse_json, parse_jsonc, stringify_ini, stringify_json, stringify_jsonc,
};
use serde_json::Value;
fn main() {
println!("=== c12-parser API demo ===\n");
let json_text = r#"{ "name": "c12-parser", "version": "1.0" }"#;
let formatted = parse_json::<Value>(json_text, None).expect("parse_json");
let out = stringify_json(&formatted, None).expect("stringify_json");
println!("JSON: {} -> {:?}", json_text, out);
let jsonc_text = r#"{ /* comment */ "x": 1 }"#;
let formatted = parse_jsonc(jsonc_text, None, None).expect("parse_jsonc");
let out = stringify_jsonc(&formatted, None).expect("stringify_jsonc");
println!("JSONC: {} -> {:?}", jsonc_text, out);
let ini_text = r#"[section]
key = value"#;
let map = parse_ini(ini_text);
let out = stringify_ini(&map);
println!(
"INI: sections={:?} -> {}",
map.keys().collect::<Vec<_>>(),
out
);
println!("\nRun `cargo run --example <name>` for more examples.");
}