#json #generator #json-stream #data-stream #streamson #memory

nightly streamson-generator

一个将streamson与生成器集成的库

11个稳定版本

7.1.0 2021年5月10日
7.0.1 2021年4月15日
6.3.1 2020年12月8日
6.2.0 2020年11月12日
5.0.2 2020年10月10日

#329FFI

每月31次下载

MIT 许可证

245KB
5.5K SLoC

docs.rs

Streamson生成器

一个将streamson与Rust生成器集成的库。

示例

使用文件作为输入生成器

let mut file = fs::File::open("/tmp/large.json")?;
let mut input_generator = move || {
	loop {
		let mut buffer = vec![0; 2048];
		if file.read(&mut buffer).unwrap() == 0 {
			break;
		}
		yield buffer;
	}
};

let matcher = Box::new(Simple::from_str(r#"{"users"}[]{"name"}"#).unwrap());
let mut output_generator = StreamsonGenerator::new(input_generator, matcher);

for item in output_generator {
	match item {
		Ok((path, data)) => {
			// Do something with the data
		},
		Err(err) => {
			// Deal with error situation
		}
	}
}

lib.rs:

streamson-lib与Rust generators集成的库

依赖项