工具
ZH

JSON 转 TOON 在线转换工具

TOON(Token-Oriented Object Notation,面向 token 的对象表示法)能以少得多的 token 承载与 JSON 相同的数据,从而降低 LLM 提示词的成本,并为上下文窗口留出更多空间。粘贴 JSON 即可转换并查看预估节省量,也可以将 TOON 转回 JSON。

JSON

TOON

隐私保护:您的数据仅在浏览器中处理,绝不会被上传。

如何将 JSON 转换为 TOON

  1. 粘贴 JSON 或打开文件。TOON 输出结果和预估节省的 token 数会立即显示。
  2. 选择分隔符:逗号(默认)、制表符或竖线。使用制表符通常还能进一步减少 token。
  3. 将 TOON 复制到你的提示词中。如需读取模型返回的 TOON 结果,请将转换方向切换为 TOON → JSON。

TOON 与 JSON 对比示例

同样的两个用户,用 JSON 表示:

{"users":[{"id":1,"name":"Ada","role":"admin"},{"id":2,"name":"Bob","role":"user"}]}

用 TOON 表示:

字段名只在表头中写一次,而不是每个对象都写一遍,引号、花括号和大部分标点符号也都省掉了。对于结构统一的对象数组(数据库行、日志、搜索结果、商品列表),节省效果非常明显:在我们用 100 条客户记录进行的测试中,TOON 所需的 token 比格式化 JSON 少约 65%,比压缩 JSON 少 47%。[2] 长度标记还能让模型和解码器检查是否缺少行。

TOON 格式速览

数据TOON
对象字段name: Ada
嵌套对象address: 后跟缩进的字段
普通值组成的数组tags[3]: red,green,blue
键相同的对象数组users[2]{id,name}: 后跟每个对象一行
混合或嵌套数组items[2]: 后跟以 - 开头的列表项
字符串不加引号,除非包含分隔符、冒号、引号或括号,首尾有空格,或看起来像数字、true、false 或 null

什么情况下 JSON 仍是更好的选择

token 数按“字符数 ÷ 4”估算。确切数字取决于所用模型的分词器,但相对差异具有很好的参考价值。

常见问题

TOON 是什么?

TOON(Token-Oriented Object Notation)是一种紧凑、易读的 JSON 数据模型编码格式,专为 LLM 提示词设计。它对对象采用 YAML 风格的缩进,对结构统一的数组采用 CSV 风格的行。

TOON 比 JSON 更好吗?

如果要向语言模型发送表格型或结构统一的数据,通常是的:token 更少,并且数组长度一目了然。而对于 API、数据存储和多层嵌套的数据,JSON 仍是更好的选择。

token 数是如何估算的?

该工具将字符数除以 4 进行估算,这是英文文本和代码常用的经验法则,中文内容的实际 token 数通常更多。确切数量取决于所用模型的分词器。

可以把 TOON 转回 JSON 吗?

可以。将转换方向切换为 TOON → JSON 即可;解码器会检查声明的数组长度,并报告出现问题的行。