8个版本 (4个稳定版)

使用旧Rust 2015

1.1.1 2021年7月10日
1.1.0 2019年1月2日
1.0.1 2018年12月31日
1.0.0 2017年4月20日
0.1.0 2016年7月31日

#82 in 编码

Download history 29061/week @ 2024-04-23 28090/week @ 2024-04-30 22674/week @ 2024-05-07 39197/week @ 2024-05-14 47238/week @ 2024-05-21 58135/week @ 2024-05-28 57786/week @ 2024-06-04 44268/week @ 2024-06-11 36453/week @ 2024-06-18 42623/week @ 2024-06-25 26948/week @ 2024-07-02 51161/week @ 2024-07-09 68039/week @ 2024-07-16 51029/week @ 2024-07-23 75638/week @ 2024-07-30 50824/week @ 2024-08-06

252,510 每月下载量
156 个crate中(44个直接使用)

MIT/Apache

14KB
386

serde-transcode

Build Status

文档

从一种Serde格式转换到另一种格式。

许可证

许可协议为以下之一

由您选择。

贡献

除非您明确声明,否则任何有意提交并包含在作品中的贡献,根据Apache-2.0许可证定义,将双重许可如上所述,不附加任何额外条款或条件。


lib.rs:

从一种Serde格式转换到另一种格式。

此crate提供从任意Serde Deserializer到任意Serde Serializer的“转换”功能,而无需将整个输入收集到内存中的中间形式。例如,您可以将JSON数据流转换为CBOR数据流,或将JSON转换为其格式化的形式。

示例

将JSON文件转换为格式化版本。

extern crate serde;
extern crate serde_json;
extern crate serde_transcode;

use serde::Serialize;
use serde_json::{Serializer, Deserializer};
use std::io::{Read, Write, BufReader, BufWriter};
use std::fs::File;

fn main() {
    let reader = BufReader::new(File::open("input.json").unwrap());
    let writer = BufWriter::new(File::create("output.json").unwrap());

    let mut deserializer = Deserializer::from_reader(reader);
    let mut serializer = Serializer::pretty(writer);
    serde_transcode::transcode(&mut deserializer, &mut serializer).unwrap();
    serializer.into_inner().flush().unwrap();
}

依赖关系

~110–345KB