SuperAPI AI 工具集

zig-json

编程与开发

查看项目

更新于 10-15 21:48

技能介绍

用途:在 Zig 中处理 JSON 与 ZON 数据,基于 std.json 和 std.zon(Zig 0.16.0)。

主要能力:解析 JSON 到结构体;序列化结构体到 JSON;动态 JSON 值处理(无类型场景);自定义序列化(jsonStringify、jsonParseFromValue);流式 JSON 处理(大文件);ZON 解析。支持类型映射包括 bool、整数、浮点、字符串、数组、结构体、可选类型、带 tag 的 union 及 std.json.Value。

使用方式:解析用 std.json.parseFromSlice 或 parseFromSliceLeaky,配合 defer parsed.deinit() 释放内存;序列化用 std.json.stringify,可加 .whitespace = .indent_2 美化;动态处理用 std.json.Value 与 ObjectMap;大文件用 std.json.Scanner 逐 token 扫描;ZON 用 std.zon.parseFromSlice。前置要求:确认 Zig 版本(zig version)。

适用场景:解析 JSON 字符串、结构体序列化、动态 JSON 数据、ZON 配置解析。

限制:JSON 网络传输应使用 zig-http 技能;ZON 用于 build.zig.zon 应使用 zig-build-system 技能。注意 parsed.deinit() 后 []const u8 字段引用的内存不可用,长期持有需 allocator.dupe() 或用 ArenaAllocator;parseFromSlice 会加载整个 JSON,超大文件用 Scanner;std.json.Value.integer 是 i64,无符号大数需额外处理;ZON 语法与 JSON 不同,键名不加引号。本技能不收集、存储或传输任何用户数据。