当前位置: 首页 > 面试题库 >

YAML和JSON有什么区别?

东门胤
2023-03-14
问题内容

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

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

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


问题答案:

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

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

通常,我喜欢某些关于YAML的东西,这些东西在JSON中不可用。

  • 正如@jdupont所指出的,YAML在视觉上更易于查看。实际上,YAML主页本身就是有效的YAML,但是对于人类而言,它很容易阅读。
  • YAML能够使用“锚”引用YAML文件中的其他项目。因此,它可以处理在MySQL数据库中可能发现的关系信息。
  • YAML是有关嵌入其他序列化格式诸如JSON或XML更健壮的 YAML文件。

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

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

您会发现JSON和YAML的C库。YAML的库往往是较新的,但是过去我对它们没有遇到任何麻烦。参见例如Yaml-
cpp



 类似资料:
  • 问题内容: 明智地设置格式,明智地使用文件类型以及明智地使用实用程序? 问题答案: JSONP是带填充的JSON。就是说,您在字符串的开头加上了一对括号。例如: 结果是您可以将JSON作为脚本文件加载。如果您之前设置了一个名为的函数,则在脚本文件加载完成后,将使用一个参数(即JSON数据)调用该函数。这通常用于允许使用JSON数据进行跨站点AJAX。如果您知道example.com正在提供类似于上

  • 问题内容: 明智地设置格式,明智地使用文件类型以及明智地使用实用程序? 问题答案: JSONP是带填充的JSON,也就是说,您将字符串放在开头,并在其周围加上一对括号。例如: 结果是您可以将JSON作为脚本文件加载。如果您之前设置了一个名为的函数,那么在脚本文件加载完成后,将使用一个参数(即JSON数据)调用该函数。这通常用于允许带有JSON数据的跨站点AJAX。如果您知道example.com正

  • 本文向大家介绍json和对象有什么区别?相关面试题,主要包含被问及json和对象有什么区别?时的应答技巧和注意事项,需要的朋友参考一下 JSON 是对象,但对象不一定是 JSON。 对象是由属性和属性值组成,也就是 KEY->VALUE 对。 对象中的 value 可以是任意的数据类型,包括函数。而 JSON 中的 value 不能为函数。

  • 那么,和到底有什么区别呢?什么时候我们应该偏爱一个而不是另一个?

  • 问题内容: 两者都意味着空间,但是有什么区别吗? 问题答案: 一个是不间断空间,另一个是常规空间。不间断的空格表示该行不应在该点处换行,就像它不会在一个单词的中间换行一样。 此外,正如斯文德(Svend)在其评论中指出的那样,不间断的空间不会崩溃。

  • 本文向大家介绍<%# %> 和 <% %> 有什么区别?相关面试题,主要包含被问及<%# %> 和 <% %> 有什么区别?时的应答技巧和注意事项,需要的朋友参考一下 答:<%# %>表示绑定的数据源 <%%>是服务器端代码块