json-lines is a #![no_std]
+ serde compatible message library implementing the
JSON Lines format.
The crate provides a Rust-language implementation of JSON Lines (JSONL), also known as Newline-Delimited JSON (NDJSON).
The wikipedia page JSON Streaming and jsonlines.org are good resources describing the format.
This crate endeavors to have a similar API to the postcard crate. This way, Rust code can easily switch between JSONL and postcard formats depending on requirements. JSONL is "self-describing" but less efficient, whereas postcard is very compact but requires an out-of-band knowledge of message structure.
The crate contains a #![no_std]
implementation for use in, e.g. embedded
contexts. The std
feature is enabled by default and provides things such as
the [Error] enum implements the [std::error::Error] Trait.
The codec
feature enables compilation of [crate::codec::JsonLinesCodec], which
provides an implementation of [tokio_util::codec::Decoder] and
[tokio_util::codec::Encoder].
Licensed under either of
- Apache License, Version 2.0 (LICENSE-APACHE or http://www.apache.org/licenses/LICENSE-2.0)
- MIT license (LICENSE-MIT or http://opensource.org/licenses/MIT)
at your option.
Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.