RFC 8785(JSON规范化方案)的纯Python实现
项目描述
rfc8785.py
是RFC 8785的纯Python,无依赖实现,也称为JSON规范化方案或JCS。
此实现的行为应与Andrew Rundgren的参考实现相当,以下为添加的约束条件
- 此实现不会自动将非
str
字典键转换为字符串。用户必须显式执行此转换。 - 不提供缩进、格式化打印等支持。输出总是最小化编码。
- 所有API都产生UTF-8编码的
bytes
对象或bytes
I/O。
安装
python -m pip install rfc8785
使用方法
查看完整的API文档这里。
import rfc8785
foo = {
"key": "value",
"another-key": 2,
"a-third": [1, 2, 3, [4], (5, 6, "this works too")],
"more": [None, True, False],
}
rfc8785.dumps(foo)
产生
b'{"a-third":[1,2,3,[4],[5,6,"this works too"]],"another-key":2,"key":"value","more":[null,true,false]}'
对于直接序列化到I/O输出,请使用rfc8785.dump
。
import rfc8785
with open("/some/file", mode="wb") as io:
rfc8785.dump([1, 2, 3, 4], io)
所有API在序列化失败时都会引发rfc8785.CanonicalizationError
或其子类。
许可
Apache许可证,版本2.0。
如注,本实现的部分来自Andrew Rundgren的参考实现,该实现也采用Apache许可证,版本2.0。
项目详情
下载文件
下载适合您平台的文件。如果您不确定选择哪一个,请了解更多关于安装包的信息。
源分布
rfc8785-0.1.4.tar.gz (14.3 kB 查看散列)
构建分布
rfc8785-0.1.4-py3-none-any.whl (9.2 kB 查看散列)
关闭
rfc8785-0.1.4.tar.gz的散列
算法 | 散列摘要 | |
---|---|---|
SHA256 | e545841329fe0eee4f6a3b44e7034343100c12b4ec566dc06ca9735681deb4da |
|
MD5 | 0ec6463b47a6cb29e438e49fe80d42d9 |
|
BLAKE2b-256 | ef2ffa1d2e740c490191b572d33dbca5daa180cb423c24396b856f5886371d8b |
关闭
rfc8785-0.1.4-py3-none-any.whl的散列
算法 | 散列摘要 | |
---|---|---|
SHA256 | 520d690b448ecf0703691c76e1a34a24ddcd4fc5bc41d589cb7c58ec651bcd48 |
|
MD5 | fa0351683b28bce1d644950880ea35c2 |
|
BLAKE2b-256 | 4d78119878110660b2ad709888c8a1614fce7e2fab39080ab960656dc8605bf6 |