decode_default

Function decode_default 

Source
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}