5个版本
使用旧的Rust 2015
0.2.0 | 2017年5月22日 |
---|---|
0.1.3 | 2017年5月19日 |
0.1.2 | 2017年5月19日 |
0.1.1 | 2017年5月18日 |
0.1.0 | 2017年5月18日 |
在编码类别中排名第2003
每月下载量244次
被cobalt-bin使用
43KB
975 代码行
JSON Feed解析器
[链接=https://github.com/pwoolcoc/jsonfeed]
这是一个Rust中的JSON Feed解析器。只是在serde
之上薄薄的一层,但它提供了序列化和反序列化,以及用于构建源数据的Builder API。
请注意,这还是alpha版本,我还需要添加很多测试和一些更多功能。
示例
extern crate jsonfeed;
extern crate reqwest;
fn main() {
let resp = reqwest::get("https://example.com/feed.json").unwrap();
let feed = jsonfeed::from_reader(resp).unwrap();
println!("Feed title is: {}", feed.title);
}
待办事项
- 测试。大量的测试
- 实现从json feed规范添加、序列化和反序列化自定义属性的能力
lib.rs
:
JSON Feed是一种类似于ATOM和RSS的聚合格式,使用JSON而不是XML
此crate可以在JSON Feed字符串和Rust数据结构之间进行序列化和反序列化。它还允许程序化地构建JSON Feed
示例
extern crate jsonfeed;
use jsonfeed::{Feed, Item};
fn run() -> Result<(), jsonfeed::Error> {
let j = r#"{
"title": "my feed",
"version": "https://jsonfeed.org/version/1",
"items": []
}"#;
let feed = jsonfeed::from_str(j).unwrap();
let new_feed = Feed::builder()
.title("some other feed")
.item(Item::builder()
.title("some item title")
.content_html("<p>Hello, World</p>")
.build()?)
.item(Item::builder()
.title("some other item title")
.content_text("Hello, World!")
.build()?)
.build();
println!("{}", jsonfeed::to_string(&new_feed).unwrap());
Ok(())
}
fn main() {
let _ = run();
}
依赖项
~3–5MB
~105K SLoC