💡
原文中文,约7200字,阅读约需18分钟。
📝
内容提要
TOON 是一种高效的序列化格式,通常比 JSON 节省 30-60% 的 tokens。它通过简化语法、减少冗余和使用缩进结构来优化数据表示,适合均匀对象数组,但对于深度嵌套数据,JSON 可能更高效。TOON 在 .NET 中提供了易用的 API。
🎯
关键要点
- TOON 是一种高效的序列化格式,通常比 JSON 节省 30-60% 的 tokens。
- TOON 通过简化语法、减少冗余和使用缩进结构来优化数据表示。
- TOON 适合均匀对象数组,但对于深度嵌套数据,JSON 可能更高效。
- TOON 提供了易用的 API,特别是在 .NET 中。
- TOON 的关键特性包括:Token-efficient、LLM-friendly guardrails、Minimal syntax、Indentation-based structure 和 Tabular arrays。
- TOON 通过表格数组、行内原子数组、键名可不加引号和缩进代替大括号等策略减少冗余。
- 对于深度嵌套或非均匀结构的数据,JSON 可能更高效。
- TOON 的语法速查提供了多种示例,展示了如何使用 TOON 表示不同的数据结构。
- AIDotNet.Toon 是 TOON 在 .NET 的实现,提供与 System.Text.Json 风格一致的 API。
- 通过 NuGet 或源码引入 AIDotNet.Toon 库,可以快速开始使用 TOON。
- TOON 的选项与行为统一入口为 C#.ToonSerializerOptions,提供多种配置选项。
- TOON 统一抛出 C#.ToonFormatException 来定位解码错误,包含错误分类与位置信息。
- TOON 适合均匀对象数组和字段重复较多的场景,而 JSON 更适合深度嵌套和非均匀数据。
- TOON 让 LLM 输入里的结构化数据更加紧凑、可校验、可读。
❓
延伸问答
TOON 协议的主要特点是什么?
TOON 协议的主要特点包括高效的 token 使用、简化的语法、基于缩进的结构和表格数组等。
TOON 与 JSON 的主要区别是什么?
TOON 通常比 JSON 节省 30-60% 的 tokens,适合均匀对象数组,而 JSON 更适合深度嵌套和非均匀数据。
如何在 .NET 中使用 AIDotNet.Toon 库?
可以通过 NuGet 或源码引入 AIDotNet.Toon 库,并使用 C#.ToonSerializer 提供的 API 进行序列化和反序列化。
TOON 协议适合哪些数据结构?
TOON 协议适合均匀对象数组和字段重复较多的场景,但对于深度嵌套或非均匀结构的数据,JSON 可能更高效。
TOON 的语法速查提供了哪些示例?
TOON 的语法速查提供了对象、嵌套对象、行内原子数组和表格数组等多种示例,展示如何表示不同的数据结构。
如何处理 TOON 的解码错误?
TOON 统一抛出 C#.ToonFormatException,包含错误分类与位置信息,帮助定位解码错误。
➡️