#序列化-反序列化 #序列化 #JSON #反序列化 #JSON格式 #vcr #cassette

vcr-cassette

用于 VCR Cassette 格式的序列化和反序列化器

5 个稳定版本

2.0.1 2021 年 8 月 31 日
1.0.2 2021 年 8 月 31 日

#814解析器实现

Download history 218/week @ 2024-04-05 271/week @ 2024-04-12 214/week @ 2024-04-19 183/week @ 2024-04-26 276/week @ 2024-05-03 343/week @ 2024-05-10 331/week @ 2024-05-17 298/week @ 2024-05-24 375/week @ 2024-05-31 389/week @ 2024-06-07 343/week @ 2024-06-14 333/week @ 2024-06-21 375/week @ 2024-06-28 392/week @ 2024-07-05 416/week @ 2024-07-12 412/week @ 2024-07-19

1,632 每月下载量
4 个crate中使用 (2 直接使用)

MIT/Apache

15KB
152

vcr-cassette

用于 VCR Cassette 格式的序列化和反序列化器

示例

给定以下 .json VCR Cassette 记录

{
    "http_interactions": [
        {
            "request": {
                "uri": "https://127.0.0.1:7777/foo",
                "body": "",
                "method": "get",
                "headers": { "Accept-Encoding": [ "identity" ] }
            },
            "response": {
                "body": "Hello foo",
                "http_version": "1.1",
                "status": { "code": 200, "message": "OK" },
                "headers": {
                    "Date": [ "Thu, 27 Oct 2011 06:16:31 GMT" ],
                    "Content-Type": [ "text/html;charset=utf-8" ],
                    "Content-Length": [ "9" ],
                }
            },
            "recorded_at": "Tue, 01 Nov 2011 04:58:44 GMT"
        },
    ],
    "recorded_with": "VCR 2.0.0"
}

我们可以使用 serde_json 来反序列化它

use std::fs;
use vcr_cassette::Cassette;

let example = fs::read_to_string("tests/fixtures/example.json").unwrap();
let cassette: Cassette = serde_json::from_str(&example).unwrap();

要反序列化 .yaml Cassette 文件,请使用 serde_yaml 代替。

安装

$ cargo add vcr-cassette

安全性

此crate使用 #![deny(unsafe_code)] 确保所有内容都在 100% 安全的 Rust 中实现。

贡献

想要加入我们吗?查看我们的 "贡献" 指南 并查看一些这些问题

许可

根据您的选择,受Apache 许可证,版本 2.0MIT 许可证的许可。
除非您明确表示,否则根据 Apache-2.0 许可证定义的,您有意提交以包含在此 crate 中的任何贡献,都将按上述方式双重许可,不附加任何额外条款或条件。

依赖项

~2.3–3.5MB
~89K SLoC