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

Download history 30/week @ 2024-04-06 58/week @ 2024-04-13 35/week @ 2024-04-20 57/week @ 2024-04-27 40/week @ 2024-05-04 25/week @ 2024-05-11 22/week @ 2024-05-18 54/week @ 2024-05-25 30/week @ 2024-06-01 25/week @ 2024-06-08 26/week @ 2024-06-15 18/week @ 2024-06-22 84/week @ 2024-06-29 51/week @ 2024-07-06 17/week @ 2024-07-13 91/week @ 2024-07-20

每月下载量244
cobalt-bin使用

MIT/Apache

43KB
975 代码行

JSON Feed解析器

[链接=https://github.com/pwoolcoc/jsonfeed] JSON Feed crate 版本

这是一个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