知行编程网知行编程网  2022-04-21 08:00 知行编程网 隐藏边栏 |   抢沙发  69 
文章评分 0 次,平均分 0.0

Python里的Json对决Yaml ,发现都很香

摄影:产品经理
与产品经理在家里的美好时光

GNE 使用 YAML 格式来编写配置文件。

业界常常流传一个笑话,写 YAML 配置的时候,需要用游标卡尺比着屏幕来写。稍稍多一个空格少一个空格,配置文件就会报错。

我们通过 JSON 来做对比,快速学习 YAML 的语法。

注意,同一个意思,用 YAML 可能有多种写法,为了让大家快速掌握,我们只选择一种来介绍。

YAML 与 Python 一样,对缩进敏感,所以大家在写 YAML 时一定要注意缩进。并且 YAML 的缩进只能使用空格,不能使用 Tab。

一对一

对于 JSON 字符串:

对应的 YAML 为:

YAML 格式不需要大括号、不需要引号。比 JSON 简洁不少。

数组

对于 JSON 字符串:

对应的 YAML 为:

Yaml 的列表是以-开头,并且-与正文之间有一个空格。

字典嵌套

对于 JSON 字符串:

对应的 YAML 为:

列表嵌套

对于 JSON 字符串:

对应的 YAML 为:

由于列表["Python", "Golang", "Java"]skill的值,所以他们会存在缩进。YAML 的缩进用几个空格都可以,只要每一项保持一致就行。但由于我经常写 Python,所以习惯使用4个空格作为缩进。

注释

YAML 的注释与 Python 一样,使用#号。

兼容性

YAML 是 JSON 的超集,所以解析 YAML 的程序也能正常解析 JSON 格式。

在 Python 中,我们使用 pyyaml 来解析 Yaml 格式的字符串。安装方式如下:

安装完成以后,使用如下命令解析 YAML:

运行效果如下图所示:

Python里的Json对决Yaml ,发现都很香

这个配置文件我们可以直接改成 JSON,效果如下图所示:

Python里的Json对决Yaml ,发现都很香

可以看出,实现相同的效果,用 JSON 要写很多的中括号大括号双引号,还要考虑反斜杠的问题。

但使用 YAML,这些问题统统不是问题,可读性高得多。

菜鸟学Python小号,欢迎关注

Python里的Json对决Yaml ,发现都很香

近期热门:
十行代码,用Python做一个迷你版的美图秀秀
实战:Flask + Vue 生成漂亮的词云
Python和Go都很火,我要怎么选?

情人眼里出西施,我用Python帮你搞定了!

高手心得|菜鸟学Python从入门到进阶

漫画,假装自己是Python高手,学会这十招就可以

看了范伟和葛大爷的电影,我决定用Python做个石头剪刀布


Python里的Json对决Yaml ,发现都很香


 点击阅读原文,阅读菜鸟学Python 400篇干货!

本篇文章来源于: 菜鸟学Python

本文为原创文章,版权归所有,欢迎分享本文,转载请保留出处!

知行编程网
知行编程网 关注:1    粉丝:1
这个人很懒,什么都没写

发表评论

表情 格式 链接 私密 签到
扫一扫二维码分享