精选· 重要性 2/5
condense-json 1.0:压缩JSON重复字符串的库
Simon Willison's Weblog··约 1 分钟阅读
中文导读
Simon Willison发布condense-json 1.0,该库可检测并替换JSON中的重复字符串,节省存储空间,尤其适用于LLM生成的SQLite日志。
2026年8月2日我正在努力更勇敢地发布1.0版本。这个小库已经有一年半的历史了——我应用了一些合理且无破坏性的修复,并发布了它的1.0正式版。
以下示例摘自README,展示了它的功能:{"foo":{"bar":{"string":"This is a string with foxes in it","nested":{"more":["Here is a string",
"another with foxes in it too"]}}}}结合一个替换对象:
{"1":"with foxes in it"}然后调用condense_json(input_json,replacements)产生如下结果:{"foo":{"bar":{"string":{"$r":["This is a string ",{"$":"1"}]},
"nested":{"more":["Here is a string",{"$r":["another ",{"$":"1"}," too"]}]}}}}它会扫描替换对象中存在的字符串或子字符串,并在输出中用特殊的{"$r":...}语法替换它们。
你可以通过uncondense_json(condensed, replacements)来逆转这一效果。其目的是让存储包含来自其他相关结构的重复数据的JSON变得更加容易。我用它来节省LLM生成的SQLite日志中的空间——参见PR #1586了解最新迭代。