4 个版本
0.1.3 | 2023 年 3 月 3 日 |
---|---|
0.1.2 | 2022 年 10 月 3 日 |
0.1.1 | 2021 年 7 月 30 日 |
0.1.0 | 2019 年 11 月 9 日 |
#1164 in 解析实现
44,510 每月下载量
在 54 个 crate 中使用(直接使用 6 个)
22KB
328 行代码(不包括注释)
olpc-cjson
提供了一个 serde_json::Formatter
,用于将数据序列化为由 OLPC 定义并在 TUF 中使用的 规范 JSON。它是作为 tough 的一部分开发的,tough 是一个用于使用 TUF 仓库的 Rust 库。
OLPC 的规范 JSON 规范与其他“规范 JSON”规范略有不同,也不是 JSON 的严格子集(特别是,ASCII 控制字符 0x00–0x1f 被直接打印,这在 JSON 中是不合法的)。因此,serde_json
不一定能反序列化此格式化器产生的 JSON。
此 crate 不是由 OLPC 开发或支持的;术语的使用仅用于区分此规范 JSON 与 其他规范 JSON。
use olpc_cjson::CanonicalFormatter;
use serde::Serialize;
use serde_json::json;
let value = json!({"b": 12, "a": "qwerty"});
let mut buf = Vec::new();
let mut ser = serde_json::Serializer::with_formatter(&mut buf, CanonicalFormatter::new());
value.serialize(&mut ser).unwrap();
assert_eq!(buf, br#"{"a":"qwerty","b":12}"#);
依赖项
~1–1.5MB
~57K SLoC