这个项目能做什么

vibejson 是一个全面的 JSON 库,适用于需要比标准 marshal/unmarshal 操作更多控制权的 Go 应用程序。它专注于减少内存分配,并为零拷贝操作提供明确的所有权和借用规则。 核心能力包括: - 类型化编解码器 (Typed Codecs):支持为重复的热点路径提供编译后的编码器和解码器,以最大限度地降低开销。 - 文档导航:通过 `GetRaw` 提供 JSON Pointer (RFC 6901) 选择,并提供结构化索引以便重复导航文档。 - 流处理:包含用于处理 NDJSON 或级联 JSON 值的 `Reader` 和 `Writer`。 - 验证与转换:提供用于严格 JSON 验证的工具,以及用于压缩、缩进或规范化 JSON 输出的函数。 - 性能优化:支持 Go 原生 SIMD(通过 Go 1.27 中的 `GOEXPERIMENT=simd`),以加速 amd64 (AVX2) 和 arm64 (NEON) 架构上的字符串扫描、结构解析和数值数组转换。 - 文档模型:具有一个所有权有序的文档模型,用于动态 JSON 操作。 该库在设计上除了 Go 标准库外没有任何依赖,并提供了从高级类型化编解码器到其 `x/` 包中低级扫描内核的各种 API 级别。