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次
240KB
5.5K SLoC
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