1个不稳定版本
0.1.0 | 2019年1月22日 |
---|
#11 in #json-stream
47KB
1K SLoC
qjsonrs
这是一个JSON解析器的Rust实现。
警告
这个crate仍然非常不稳定,在0.x.y版本中可能会出现许多破坏性更改。
动机
流式标记化处理大JSON负载,可以在不将整个JSON对象加载到内存的情况下进行处理。
迭代器接口。
这个crate产生的JsonTokens流无法完全提供迭代器接口。原因是:产生的JsonTokens引用了流内部的缓冲区,因此保持了对流的一个引用。
此外,迭代器返回结果,以启用报告IO或JSON编码错误。
示例
use qjsonrs::{
JsonStream,
JsonToken::JsBoolean
}
let mut stream = JsonStream::from_read(file)?;
while Some(t) = stream.next()? {
match t {
JsonToken::JsBoolean(b) => { println!("Got JSON boolean: {:?}", b) },
o => { println!("Got other JSON token boolean: {:?}", o) },
}
}
println!("Done reading stream.");
依赖项
~560–780KB
~10K SLoC