Crates.io | json-lines |
lib.rs | json-lines |
version | 0.1.1 |
source | src |
created_at | 2023-11-20 14:48:53.106746 |
updated_at | 2023-11-21 05:36:51.016127 |
description | A no_std + serde compatible message library implementing JSON Lines |
homepage | |
repository | https://github.com/strawlab/json-lines |
max_upload_size | |
id | 1042289 |
size | 31,962 |
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 defaults and provides things such as
the [Error] enum implements the [std::error::Error] Trait.
The codec
feature enables [crate::codec::JsonLinesCodec], which provides
an implementation of [tokio_util::codec::Decoder] and
[tokio_util::codec::Encoder].
Licensed under either of
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.