1. 诞生背景

  • JSON 仍是通用数据语言,但在 LLM 场景下显得冗余:大括号、引号、重复键名→token 浪费。

  • 每多一个符号 = 多付一次钱(GPT/Claude 按 token 计费),解析也更慢。

  • 需求:一种“token 优先、人类可读、LLM 友好”的新格式 → Token-Oriented Object Notation(TOON)。

ScreenShot_2026-01-04_135213_538-njm4.png

2. 设计哲学

维度

JSON

TOON

语法

大括号+引号+逗号

缩进+冒号,去掉冗余符号

数组

重复键名

模式一次声明,数据行式排列

嵌套

层层 {}

保留缩进,类似 YAML 的简洁

token 量

100 % 基线

实测减少 40-60 %

解析

通用但啰嗦

结构统一,LLM 更易“语义阅读”

3. 语法速览(对比记忆)

① 简单对象

{"name": "Alice", "age": 30, "city": "Bengaluru"}

复制

name: Alice
age: 30
city: Bengaluru

② 数组

{"colors": ["red", "green", "blue"]}

colors[3]: red,green,blue ← [3] 声明长度,逗号分隔

③ 对象数组

{"users": [{"id": 1, "name": "Alice"}, {"id": 2, "name": "Bob"}]}

users[2]{id,name}:
  1,Alice
  2,Bob

→ 第一行是模式,后续每行按顺序填值,无键名重复。

④ 嵌套

{"user": {"id": 1, "profile": {"age": 30}}}

user:
  id: 1
  profile:
    age: 30

4. 实战收益(官方基准)

格式

大小

Tokens

解析时间

JSON

240 KB

2 600

145 ms

TOON

145 KB

1 650

103 ms

→ 体积-40%,token-36%,解析-29%,直接换算成“省钱+提速”。

5. 适用场景

  1. 向 LLM 投喂大批量同构数据(交易、日志、事件)。

  2. Prompt 上下文窗口紧张(16 k/32 k 极限场景)。

  3. 边缘设备 / 高带宽成本环境。

  4. 数据集发布:LLM-native 语料先写 TOON,再转 JSON。

6. 现阶段的“坑”与展望

  • 生态婴儿期:无官方 parser、schema 验证、语法高亮。

  • 目标并非“干掉 JSON”,而是“AI 工作流首选交换格式”。

  • 未来期待:

    • json2toon / toon2json 双向转换 CLI

    • LangChain、LlamaIndex 内置 TOON loader

    • VS Code 插件 + Jupyter 魔法命令

    • 浏览器原生支持?(若成功)

7. 一句话总结

TOON 用“一半词汇”承载“相同含义”,让数据在 LLM 眼里更便宜、更快、更易读;它是 AI 时代的“数据外骨骼”——结构在,赘肉去。

“我结构化,所以我理解。” —— TOON