首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >YAML和JSON有什么区别?

YAML和JSON有什么区别?
EN

Stack Overflow用户
提问于 2017-12-19 11:07:30
回答 3查看 0关注 1票数 0

我们什么时候应该使用YAML而不是JSON,反之亦然,考虑以下几点?

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

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

有关:

我应该使用YAML还是JSON来存储我的Perl数据?

EN

Stack Overflow用户

发布于 2017-12-19 11:30:42

区别:

YAML,取决于你如何使用它,可以比JSON更具可读性

JSON通常速度更快,可能仍然可以与更多系统互操作

可以非常快速地编写一个“足够好”的JSON解析器

重复键,这是潜在的有效的JSON,是绝对无效YAML。

YAML有很多功能,包括评论和关系锚。YAML语法因此相当复杂,而且可能很难理解。

在yaml中写递归结构是可能的{a: &b [*b]},它将在一些转换器中无限循环。即使是循环检测,“yaml炸弹”仍然是可能的(见xml炸弹)。

由于没有引用,因此不可能使用JSON序列化带有对象引用的复杂结构。YAML序列化因此可以更有效率。

结论:

Python程序员通常是YAML的忠实粉丝,因为使用了缩进而不是括号内的语法来表示级别。

许多程序员认为“含义”对缩进的依附是一个糟糕的选择。

如果数据格式将离开应用程序的环境,在UI中解析,或在消息传递层发送,JSON可能是更好的选择。

YAML可以直接用于复杂的任务,如语法定义,通常是比创建新语言更好的选择。

票数 0
EN
查看全部 3 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/-100007084

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档