或json
orjson是一个用于python的快速、正确的json库。它的基准是
json最快的python库,具有全面的单元、集成和
互操作性测试。
它的序列化性能是最近的2到3倍
其他库和标准库的4到12倍。它的反序列化
性能是最近的其他库的0.9倍到1.1倍,1.1倍到2倍
标准库。
它的行为与其他python json库在支持
日期时间,不支持没有默认值的子类,
将utf-8序列化为字节而不是转义ascii(例如,"好"而不是
"\\u597d")默认情况下,具有严格的utf-8一致性,具有严格的json
在nan/infinity/-infinity上的一致性,可以选择strict
53位整数上的json一致性,不支持pretty
打印,不支持所有标准库选项。
orjson支持cpython 3.5、3.6、3.7和3.8。它为Linux分发轮子,
MacOS和Windows。Manylinux1车轮与PEP 513的要求不同
glibc 2.18,2013年发布,或更高版本。orjson当前不支持pypy。
orjson在apache 2.0和mit许可下都有许可。这个
存储库和问题跟踪器是
github.com/ijl/orjson,补丁可能是
在那里提交。
用法
安装
从pypi安装轮子:pip install --upgrade orjson
要从源代码构建,需要在
每晚频道。使用
皮普:pip wheel orjson
除了libc之外,没有其他运行时依赖项。orjson与
如果在这种系统上编译,则使用早于2.18的glibc的系统。工装
当前不支持musl libc。
序列化defdumps(__obj:Any,default:Optional[Callable[[Any],Any]]=...,option:Optional[int]=...)->bytes:...
dumps()将python对象序列化为json。
它本机序列化
str,dict,list,tuple,int,float,bool,datetime.datetime,
date time.date,datetime.time和none实例。它支持
通过default任意类型。它不序列化
本机支持的类型,但可以使用默认类型。
它通过选项关键字参数接受选项。其中包括:或json.opt_strict_integer用于对整数强制53位限制。这个
否则限制为64位,与python标准库相同。
或json.opt_naive_utc用于假设不带
tzinfo是UTC。
要指定多个选项,请将它们屏蔽在一起,例如,
option=orjson.opt_strict_u integer;或json.opt_naive_utc
它在不支持的类型上引发jsonencodeerror。此异常消息
描述无效对象。
它在包含无效utf-8的