18个稳定版本 (7个主要版本)

7.1.0 2021年5月10日
6.3.1 2020年12月8日
6.2.0 2020年11月12日
5.0.2 2020年10月10日
0.2.0 2020年5月29日

#4 in #streamson

每月下载量 39次

MIT 协议

240KB
5.5K SLoC

docs.rs

Streamson tokio

一个将streamson集成到tokio的库。因此,您可以轻松使用异步Rust处理JSON。

示例

读取大文件

 use std::io;
 use streamson_lib::{error, matcher};
 use streamson_tokio::decoder::Extractor;
 use tokio::{fs, stream::StreamExt};
 use tokio_util::codec::FramedRead;

 let mut file = fs::File::open("/tmp/large.json").await?;
 let matcher = matcher::Combinator::new(matcher::Simple::new(r#"{"users"}[]"#).unwrap())
     | matcher::Combinator::new(matcher::Simple::new(r#"{"groups"}[]"#).unwrap());
 let extractor = Extractor::new(matcher);
 let mut output = FramedRead::new(file, extractor);
 while let Some(item) = output.next().await {
     let (path, data) = item?;
     // Do something with extracted data
 }

lib.rs:

streamson-lib 集成到tokio的库

依赖

~4MB
~57K SLoC