在上篇文章中以实际的例子介绍了YAML文件的格式和使用方法,但是由于都是文本编辑的方式,是否符合YAML的语法规范缺乏工具的检查,这篇文章介绍一下常见的方式。

方式1: IDE支持

很多插件支持YAML文件格式的检查,比如

IDE yaml插件 URL链接
Eclipse yaml-editor https://marketplace.eclipse.org/content/yaml-editor
IEDA Style. YAML https://www.jetbrains.com/help/idea/code-style-yaml.html

方式2: 在线格式检查

在线格式检查工具 URL链接
yamllint http://www.yamllint.com/
validate-yaml https://onlineyamltools.com/validate-yaml

方式3: yaml模块

使用其他语言的yaml模块加载yaml文件,一般也会判断出yaml格式中不符合标准的地方。但是这种方式也有可能会有对标准的yaml格式有所增强的功能。以python为例,可以使用 yaml模块的load方法进行格式的确认。

示例

这里使用前文的两个YAML文件,用于检查格式信息

错误格式文件

liumiaocn:yaml liumiao$ cat demo/errorformat.yml
---
# without space behind person:
person:{name: Liumiaocn, id: 1001}
greetings:
# use tab rather than spacemessage: Hello
...
liumiaocn:yaml liumiao$

上述YAML文件存在格式问题:

  • 问题1:person:后面缺一个空格
  • 问题2:message:前面使用的是Tab而不是空格

正确格式文件

  • YAML示例
liumiaocn:yaml liumiao$ cat demo/anchors.yml
---
defaultgreeting: &defaultgreetingrefname: &nameref Liumiaocnmessage: Hello# override message column
welcomegreeting:<<: *defaultgreetingrefmessage: Welcome# add new column
newgreeting:newname: *namerefnewmessage: New Message Information
...
liumiaocn:yaml liumiao$

格式检查

使用validate-yaml进行检查,可以实时的检查结果,详细如下所示

使用yamllint进行检查则需要点击go按钮

之后则会出现如下信息

结果转换

使用yamlint在使用中还会将结果进行转换,比如删除注释信息,将锚点和引用结果展开等,使用上述正确文件格式,使用yamllint转换之后结果如下所示

格式转换

YAML格式与json等进行转换也有很多工具,如下以一款在线工具进行示例说明

  • URL:http://yaml-online-parser.appspot.com/

以YAML中锚点的上述使用yaml文件,转换为json格式的结果如下所示

YAML实践指南:3:YAML格式检查与转换相关推荐

  1. YAML格式检查与转换

    K8S  - Chart 包中的yaml文件格式,经常遇到空格写错了等格式错误.反反复复的折腾,效率非常低. 使用其他语言的yaml模块加载yaml文件,一般也会判断出yaml格式中不符合标准的地方. ...

  2. 【YAML】【YAML的实践】【YAML的使用学习记录】

    [YAML][YAML的实践][YAML的使用学习记录] 0 前言 1 YAML的使用 1.1 `.yaml`配置文件 1.1.1 配置文件说明 1.1.2 举例说明 1.2 函数中使用 1.2.1 ...

  3. python生成yaml文件_Python实践34-读写yaml文件

    关于yaml YAML语言的设计目标,就是方便人类读写.如果你想要实现一些用ini不好做到的配置,可以使用yaml格式作为配置文件 大小写敏感 使用缩进表示层级关系 缩进时不允许使用Tab键,只允许使 ...

  4. 毕业论文内容指导与格式检查指南

    目录 一.论文撰写 论文撰写参考资料 二.论文内容初步检查 三.论文格式检查指南 论文格式调整参考资料 一.论文撰写 详见毕业论文内容框架指导(程序设计类). 撰写前请下载最新版的毕业设计论文模板. ...

  5. ROS机器人操作系统最佳实践指南

    ----ROS Best Practices:https://github.com/ethz-asl/ros_best_practices/wiki---- 这是使用机器人操作系统(ROS)的最佳实践 ...

  6. Liquibase实践指南

    Liquibase实践指南 1.概述 本文主要介绍了 什么是 Liquibase,以及在 SpringBoot 项目中集成使用 Liquibase 对数据库表进行管理,包括自动创建数据库表.自动初始化 ...

  7. 前端 DSL 实践指南(上)—— 内部 DSL

    编者按:本文转载自云音乐前端技术团队,作者网易云音乐前端工程师郑海波 前言 近几年,前端社区中 DSL 这个词开始频繁出镜,这和环境的变化有很大关系: React.Vue.Angular 等现代框架的 ...

  8. 深度学习「CV」学习实践指南!

    ↑↑↑关注后"星标"Datawhale 每日干货 & 每月组队学习,不错过 Datawhale干货 作者:黄星源.樊亮.陈桦.斯国一 深度学习的发展不仅突破了许多视觉难题, ...

  9. SMETA验厂咨询,SMETA参考实践指南BPG(本文件)的制作旨在提供一份一致的全球审核程序

    SMETA 参考实践指南BPG(本文件)的制作旨在提供一份一致的全球审核程序,以便Sedex会员能够带着信任.完全透明地分享所用的标准及协议.许多种社会审核被执行,例如BSCI.WRAP.SA8000 ...

最新文章

  1. 美团全链路压测自动化实践
  2. 天刀各大区服务器位置,数据帝玩家统计 天刀全区活跃地图展示
  3. 目标检测系列(五)——Faster R-CNN译文
  4. wordpress列表页调用浏览器,wordpress显示文章浏览量!
  5. MYSQL常用操作(一)之设置ROOT密码,连接,常用命令
  6. Stack与queue的底层实现、区别。
  7. Python中tkinter.filedialog
  8. 计算机组成原理试题解析pdf,计算机组成原理试题集.pdf
  9. 遗传算法原理及应用一(编码、适应度函数与选择算子)
  10. azw3 netty权威指南_小程序,巧应用(pdf+epub+mobi+txt+azw3)
  11. 史上最全的画册制作流程—设计前的策划
  12. iPhoneXs iPhoneXs Max iPhoneXr 界面适配问题
  13. python第一章(下)
  14. 江南大学 超级计算机,2012年暑期学校22-过程之旅--江南大学 李婷
  15. erdas图像增强步骤_ERDAS图像增强处理.ppt
  16. 个人项目——中小学数学卷子自动生成程序
  17. 【搞定工作】无惧尾款,打工就要来这里!
  18. oracle 翻译ip归属地/经纬度/定位;获取ip归属地/经纬度/定位;获取ip gps定位/lng,lat/坐标
  19. 【Python】 1051 复数乘法 (15 分)
  20. 微信域名检测是否被封的检测api接口

热门文章

  1. 简单的说一下S5PV210
  2. [Info]上海电影院不完全手册
  3. 用 Python 自动玩王者荣耀,简直太秀了
  4. java rgb十六进制数据转图片
  5. Confidence Propagation Cluster: 一个来自CVPR2022的目标检测涨点神器(CP-Cluster)
  6. 致远项目管理SPM系统之项目立项审批
  7. 学会自我管理有哪些好处?自我管理包括哪些内容?
  8. 计算机基础——进制与数据编码
  9. java导入xmind的坑及解决方案
  10. Gerrit提交代码相关命令