pub fn decode_default(input: &str) -> ToonResult<Value>Expand description
Decode with default options (strict mode, type coercion enabled).
ยงExamples
use serde_json::json;
use toon_format::decode_default;
// Simple object
let input = "name: Alice\nage: 30";
let result = decode_default(input)?;
assert_eq!(result["name"], json!("Alice"));
assert_eq!(result["age"], json!(30));
// Primitive array
let input = "tags[3]: reading,gaming,coding";
let result = decode_default(input)?;
assert_eq!(result["tags"], json!(["reading", "gaming", "coding"]));
// Tabular array
let input = "users[2]{id,name}:\n 1,Alice\n 2,Bob";
let result = decode_default(input)?;
assert_eq!(result["users"][0]["name"], json!("Alice"));Examples found in repository?
examples/parts/round_trip.rs (line 16)
7pub fn round_trip() {
8 let original = json!({
9 "product": "Widget",
10 "price": 29.99,
11 "stock": 100,
12 "categories": ["tools", "hardware"]
13 });
14
15 let encoded = encode_default(&original).unwrap();
16 let decoded = decode_default(&encoded).unwrap();
17
18 println!("Encoded:\n{encoded}",);
19 println!("\nRound-trip equal: {}", original == decoded);
20}