fixed-json 0.4.0

No-std, no-allocation JSON parsing into caller-owned fixed storage
Documentation
use fixed_json::{Attr, DefaultValue, ObjectBuilder};

#[test]
fn reads_basic_object_with_builder() {
    let mut flag1 = false;
    let mut flag2 = false;
    let mut count = 0;

    let end = ObjectBuilder::<3>::new(r#"{"flag2":false,"count":7,"flag1":true}"#)
        .integer("count", &mut count)
        .boolean("flag1", &mut flag1)
        .boolean("flag2", &mut flag2)
        .read()
        .unwrap();

    assert_eq!(end, 38);
    assert_eq!(count, 7);
    assert!(flag1);
    assert!(!flag2);
}

#[test]
fn accepts_preconfigured_attrs() {
    let mut count = 1;

    ObjectBuilder::<1>::new(r#"{}"#)
        .attr(Attr::integer("count", &mut count).with_default(DefaultValue::Integer(5)))
        .read()
        .unwrap();

    assert_eq!(count, 5);
}