【发布时间】:2017-07-15 20:02:28
【问题描述】:
JSON 很棒,因为它得到了广泛的支持,而且机器和人类都可以轻松读写。
YAML 很棒,因为它更易于人类读写,并且支持更多数据类型。
TOML 就像是 INI 的改进版。
我想针对不同的东西进行优化:可区分性。即,通过标准的diff 工具运行时,了解同一文档的两个版本之间的变化有多容易?
据我所知,Yarn 甚至为他们的锁定文件创建了自己的custom format 只是为了改进这方面。
是否有任何开源 JS 库可用于从对象生成可区分的输出?
【问题讨论】:
-
您要的是数据格式、差异库还是两者兼而有之?我还认为答案完全取决于要区分的信息的性质和目的。
-
@ÁlvaroGonzález 数据/文件格式。数据的性质未知。我想区分任何可能从 HTTP REST API 返回的内容。我会将它从 JSON 或任何它的格式转换为这种新的数据交换格式,然后对其进行比较。我们的想法是能够看到它随着时间的推移如何变化。
-
我看到人们使用 Git 跟踪德国法律的变化,markdown 是首选格式,因为它们基本上是非常大的纯文本块。但是跟踪例如产品目录的演变是一个非常不同的用例,可能需要不同的格式。我就是这个意思。
-
@ÁlvaroGonzález 很公平,但我说的是“数据交换格式”而不是人类语言。假设我的数据有一些结构:-)
-
我一直这么认为。但是大多数差异算法都是基于行的,并且具有例如具有程序设置的 JSON 文件比具有 EULA 的 JSON 文件。
标签: javascript json yaml diff