#json-parser #json #parser #pointers #events #chisel #dom

已删除 chisel-json

Rust的简单JSON解析器

4个稳定版本

1.0.7 2023年10月9日
1.0.6 2023年10月7日
0.1.23 2023年10月4日
0.1.22 2023年5月12日
0.1.15 2023年4月29日

#169 in #dom

Download history 2/week @ 2024-03-07 66/week @ 2024-03-28 36/week @ 2024-04-04

130 monthly downloads
用于 chiselj

MIT/Apache

11MB
2.5K SLoC

Rust

crates.io

crates.io

chisel-json

另一个JSON解析器吗?

Chisel JSON解析器旨在成为一个相对简单的DOM和SAX解析器,它不包括在Rust中从结构体/枚举显式序列化和反序列化所需的全部机制。

这是一个简单的解析器,旨在允许你选择如何解析一大块“诅咒”JSON,然后构建/转换DOM为更丰富的AST结构,或者选择通过在响应SAX解析事件时调用的闭包来挑选有用的有效负载部分。

(因为说实话,JSON有效负载通常负担着大量你永远不会使用的无用之物)。

包特性标志

包内目前定义的特性如下

特性 描述 默认特性?
mixed_numerics 数字是否应分别解析为 i64f64 yerp

示例

源代码中提供了几个示例

示例 描述
distinct_pointers 使用SAX解析器提取所有不同的JSON指针
distinct_object_pointers 使用SAX解析器提取所有对象的JSON指针

构建 & 测试

要本地构建,您可以使用标准的 cargo build 命令及其变体,但如果您更喜欢使用 cargo-make,则源代码中也包含了一个补充的 Makefile.toml

要构建时重新生成README.md文件 - 您应该使用

cargo make

或者,

cargo readme > README.md

源代码中包含了一些基于 极其出色criterion 的基准测试,可以使用提供的 benchmark.sh 脚本或相关的 cargo make 目标来运行。

依赖关系