# rjson : a minimal json parser for rust * Contain a single standalone `lib.rs` that do all the jobs. * Impl the traits with your own structs before `parse`. * A simple Impl can be, `enum` for `Value`, the same `enum` for `Null`, `Vec` for `Array` and `BTreeMap` for `Object`. * It requires only `core` and `alloc`, nothing else, including `std`. * In `no_std` environment, it need a global allocator to work. ## Reminder * We allow `,` after the last item/member of Array/Object. * We treat unescaped line breaks as normal char, and ignore escaped line breaks. * We do not support surrogate unicode char. * We use `f64` for all numbers, but you can use others. Remind: `f64` means `i52`. * We take `&[char]`, not `&[u8]`, and not `&str`. * No `stringify` or `encode`, because they should not be a part of the traits. * Instead of returning `None`, we simply ignore chars after the data. * The position where data ends is returned through `index`. You can compare it with `len() - 1`. * This value is also useful when `Option::None` returned, by indicating where the syntax error occurs. * `parse` may return all possible values, not only `Array` and `Object`.