小编典典

YAML 和 JSON 有什么区别?

all

YAML 和 JSON 有什么区别,具体考虑以下几点?

  • 性能(编码/解码时间)
  • 内存消耗
  • 表达清晰
  • 库可用性,易用性(我更喜欢 C)

我打算在我们的嵌入式系统中使用这两个中的一个来存储配置文件。


阅读 200

收藏
2022-03-01

共1个答案

小编典典

从技术上讲,YAML 是 JSON 的超集。这意味着,至少在理论上,YAML 解析器可以理解 JSON,但不一定反过来。

请参阅标题为“YAML:与
JSON
的关系”的部分中的官方规范。

一般来说,我喜欢 YAML 的某些东西在 JSON 中不可用。

  • YAML 在视觉上更容易查看。事实上,YAML 主页本身就是有效的 YAML,但人类很容易阅读。
  • YAML 能够使用“锚点”引用 YAML 文件中的其他项目。因此,它可以处理可能在 MySQL 数据库中找到的关系信息。
  • YAML 在将 JSON 或 XML 等其他序列化格式嵌入到 YAML 文件中时更加 健壮

在实践中,最后两点可能对你或我所做的事情都不重要,但从长远来看,我认为 YAML 将是一种更健壮和可行的数据序列化格式。

目前,AJAX 和其他 Web 技术倾向于使用 JSON。YAML 目前更多地用于离线数据处理。例如,它默认包含在基于 C 的 OpenCV
计算机视觉包中,而 JSON 则不包含。

您将找到适用于 JSON 和 YAML 的 C 库。YAML 的库往往较新,但过去我对它们没有任何问题。参见例如Yaml-
cpp

2022-03-01