Skip to content

API 参考

本节提供 github.com/cybergodev/json 库的完整 API 参考。

两种 API 风格

本库提供 包级函数(如 json.GetString(data, "path"),无需创建实例)和 Processor 方法(如 p.GetString(data, "path"),支持配置复用、预解析缓存与钩子系统)两套 API。不确定该用哪个?参阅 Processor 入门 的选择决策树。

模块索引

函数 API

模块说明
包函数包级函数参考(查询/修改/删除/编码/解析/批量/JSONL/文件/迭代)
Processor处理器方法(与包函数镜像分类,额外含生命周期与预解析)

类型与接口

模块说明
Config配置选项详解(DefaultConfig / SecurityConfig / PrettyConfig)
类型定义核心类型(Config / Schema / Stats / AccessResult,含 Encoder / Decoder)
接口定义扩展接口(CustomEncoder / Validator / Hook / PathParser)
迭代器与 IterableValueIterator / BatchIterator / ParallelIterator / StreamIterator 类型
泛型操作泛型 API(GetTyped[T] / StreamLinesInto[T] / Result[T])
常量与错误常量和错误类型

工具与辅助

模块说明
工具函数CompareJSON / MergeJSON、缓存管理、全局处理器、SafeError / RedactedPath、AccessResult 方法
格式化输出指南Print 系列迁移指南(已移除 API 的替代方案)

跨模块专题

模块说明
流式处理大文件流式处理指南
JSONL / NDJSON 处理JSONL 处理器(StreamJSONL / NDJSONProcessor / JSONLWriter)
安全验证安全模式 API(SecurityConfig / DangerousPattern / RegisterDangerousPattern)
Schema 验证器Schema 验证(ValidateSchema / DefaultSchema / NewSchemaWithConfig)
Hook 钩子系统操作拦截钩子(LoggingHook / TimingHook / ValidationHook / ErrorHook)
自定义编码器自定义编码器(CustomEncoder / TypeEncoder)

快速查找

按功能分类

路径查询

函数说明
Get, GetWithContext, GetString, GetInt, GetFloat, GetBool, GetArray, GetObject类型安全获取
GetTyped[T]泛型获取
SafeGet安全获取 AccessResult
GetMultiple批量获取

修改操作

函数说明
Set, SetMultiple设置值
SetCreate, SetMultipleCreate设置值并自动创建路径
Delete, DeleteClean删除值
ProcessBatch批量操作

编解码

函数说明
Marshal, Unmarshal标准编解码(兼容 encoding/json,可附加 cfg
MarshalIndent格式化编码(兼容 encoding/json.MarshalIndent,可附加 cfg
Encode, EncodeWithConfig编码为字符串
NewEncoder, NewDecoder流式编解码
Parse解析 JSON

格式化

函数说明
Prettify格式化 JSON
Compact压缩 JSON(buffer 形式,兼容 encoding/json.Compact
CompactString压缩 JSON(字符串输入/输出形式,镜像 Processor.Compact

文件操作

函数说明
LoadFromFile, SaveToFile文件读写
LoadFromReader从 Reader 读取
MarshalToFile, UnmarshalFromFile文件编解码

流式处理

类型/方法说明
StreamLinesInto[T]从 Reader 流式读取 JSONL 并转换为 []T
ParseJSONL解析 JSONL 字节为 []any
ToJSONL, ToJSONLString[]any 转换为 JSONL 格式
JSONLWriterJSONL 写入器(Write/WriteAll/WriteRaw)
NDJSONProcessorNDJSON/JSONL 处理器
ForeachFile文件流式处理

验证

函数说明
ValidJSON 验证(兼容 encoding/json.Valid
ValidWithConfig带配置的 JSON 验证
ValidateSchemaSchema 验证(配合 Schema 类型使用)
CompareJSON比较 JSON 是否等价

命名约定

库遵循以下命名约定:

模式说明示例
Get{Type}获取指定类型(支持 defaultValue)GetString, GetInt
GetTyped[T]泛型获取,返回 TGetTyped[User]
New{Type}创建实例New (返回 *Processor), NewEncoder
Default{Type}默认配置DefaultConfig
{Type}Config配置预设SecurityConfig, PrettyConfig

相关