展示HN:JSON-io – 用于JSON、JSON5和TOON的Java库(减少40%的LLM令牌)

1作者: jdereg大约 20 小时前原帖
我在 json-io 这个 Java 序列化库中实现了 TOON 支持。TOON 是一种基于缩进的格式,专为 LLM 应用设计,因为在这些应用中,每个令牌都需要付费并占用上下文窗口。<p>与 JSON 相同的数据,令牌数量减少约 40-50%。没有大括号、方括号、逗号或不必要的引号。统一对象的数组会自动转换为类似 CSV 的表格。<p>JSON: {&quot;team&quot;:&quot;Rockets&quot;,&quot;players&quot;:[{&quot;name&quot;:&quot;John&quot;,&quot;age&quot;:30},{&quot;name&quot;:&quot;Sue&quot;,&quot;age&quot;:27}]}<p>TOON: team: Rockets players: name, age John, 30 Sue, 27<p>json-io 可以读取和写入 JSON、JSON5 和 TOON,支持 60 多种内置 Java 类型,具有循环支持和零配置。此外,还有一个 Spring Boot 启动器和 Spring AI 模块。<p>GitHub: <a href="https:&#x2F;&#x2F;github.com&#x2F;jdereg&#x2F;json-io" rel="nofollow">https:&#x2F;&#x2F;github.com&#x2F;jdereg&#x2F;json-io</a> TOON 规范: <a href="https:&#x2F;&#x2F;toonformat.dev" rel="nofollow">https:&#x2F;&#x2F;toonformat.dev</a> Baeldung 文章: <a href="https:&#x2F;&#x2F;www.baeldung.com&#x2F;java-json-toon-format-libraries" rel="nofollow">https:&#x2F;&#x2F;www.baeldung.com&#x2F;java-json-toon-format-libraries</a>
查看原文
I built TOON support into json-io, a Java serialization library. TOON is an indentation-based format designed for LLM applications where every token costs money and eats context window.<p>Same data as JSON, ~40-50% fewer tokens. No braces, brackets, commas, or unnecessary quoting. Arrays of uniform objects become CSV-like tables automatically.<p>JSON: {&quot;team&quot;:&quot;Rockets&quot;,&quot;players&quot;:[{&quot;name&quot;:&quot;John&quot;,&quot;age&quot;:30},{&quot;name&quot;:&quot;Sue&quot;,&quot;age&quot;:27}]}<p>TOON: team: Rockets players: name, age John, 30 Sue, 27<p>json-io reads&#x2F;writes JSON, JSON5, and TOON with 60+ built-in Java types, cycle support, and zero config. There&#x27;s also a Spring Boot starter and Spring AI module.<p>GitHub: <a href="https:&#x2F;&#x2F;github.com&#x2F;jdereg&#x2F;json-io" rel="nofollow">https:&#x2F;&#x2F;github.com&#x2F;jdereg&#x2F;json-io</a> TOON spec: <a href="https:&#x2F;&#x2F;toonformat.dev" rel="nofollow">https:&#x2F;&#x2F;toonformat.dev</a> Baeldung article: <a href="https:&#x2F;&#x2F;www.baeldung.com&#x2F;java-json-toon-format-libraries" rel="nofollow">https:&#x2F;&#x2F;www.baeldung.com&#x2F;java-json-toon-format-libraries</a>