
Graphtage是一个命令行工具及底层库,用于对JSON、JSON5、XML、HTML、YAML和TOML等树状结构文件进行语义化比较与合并。其名称融合了"graph"(图)和"graftage"(园艺嫁接技术)两个概念。
传统diff工具在处理无序树状节点(如JSON字典)时存在明显缺陷。以以下JSON文件为例:
# original.json
{
"foo": [1, 2, 3, 4],
"bar": "testing"
}
# modified.json
{
"foo": [2, 3, 4, 5],
"zab": "testing",
"woo": ["foobar"]
}常规工具通过规范化(如按键名排序)后进行行级对比,导致键名修改(如"bar"→"zab")被识别为完全独立的编辑操作,而非语义层面的关联变更。
Graphtage支持:
pip3 install graphtage作为Python库使用时,开发者可以:
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。