lil-json
lil #![no_std] Rust crate to parse & serialize JavaScript Object Notation (JSON). alloc optional. std optional.
JSON can be serialized into any type that implements embedded_io::Write.
Here is a minimal example of serializing a JSON object to stdout with a one-liner, making use of the lil-json::FieldBuffer auto trait, core::convert::From for JsonValue, & core::convert::Into for JsonField
use stdout;
use FieldBuffer;
// output: {"some_number":12345,"some_string":"hello world!","some_boolean":true}
Here is an example of parsing a JSON object from a slice
use ;
Still a work in progress. Not everything is complete. String escaping is not fully not completed yet.
the following types are currently supported:
- objects (currently limited to non-nested objects)
- string (currently limited to ascii-)
- boolean
- null
- number (currently limited to integers)
the following types are not currently supported:
- arrays
- nested types
TODO:
- support null type
- alloc features
- expose serialization methods for terminal types
- support arrays
- support parsing arbitrary types
- support unicode strings
- support buffered serialization
- support parsing from stream
- support parsing streaming objects/arrays
- support embedded-io-async?