1 个不稳定版本
0.1.1 | 2023年3月30日 |
---|
2391 在 解析器实现
1,186 每月下载量
10KB
178 行
rust-json-forensics
此crate提供了一个函数,该函数接受一个字节数组并
- 将无效的JSON标记
NaN
和Infinity
转换为0
- 将所有在
serde-json
中会导致溢出的整数替换为0
这只是为了使JSON能够解析。所有操作都是在原地进行的。
这很有用,因为Python JSON库传统上会在遇到 NaN
和 Infinity
值时发出无效的JSON。如果您必须支持此类客户端,则可以使用此包装器来解析此类JSON文档。
lib.rs
:
此crate实现了一个 Read
适配器,该适配器将无效的JSON标记 NaN
和 Infinity
转换为其他标记,而不在其他方面扭曲流。它通过将 NaN
和 Infinity
转换为 0.0
来实现这一点。
这很有用,因为Python JSON库传统上会在遇到 NaN
和 Infinity
值时发出无效的JSON。如果您必须支持此类客户端,则可以使用此包装器来解析此类JSON文档。
这只是使JSON能够解析的一种方式,并且 0
是一种可以以标准化的方式插入而不会改变任何位置值的值。
示例转换
以下JSON文档
{"nan":NaN,"inf":Infinity,"-inf":-Infinity}
因此转换为
{"nan":0 ,"inf":0 ,"-inf":-0 }
serde支持
如果启用了 serde
功能,则该crate提供了一些基本的包装器,用于围绕 serde_json
进行快速反序列化,并运行转换。
依赖关系
~0–265KB