YAML实践指南:3:YAML格式检查与转换
在上篇文章中以实际的例子介绍了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格式检查与转换相关推荐
- YAML格式检查与转换
K8S - Chart 包中的yaml文件格式,经常遇到空格写错了等格式错误.反反复复的折腾,效率非常低. 使用其他语言的yaml模块加载yaml文件,一般也会判断出yaml格式中不符合标准的地方. ...
- 【YAML】【YAML的实践】【YAML的使用学习记录】
[YAML][YAML的实践][YAML的使用学习记录] 0 前言 1 YAML的使用 1.1 `.yaml`配置文件 1.1.1 配置文件说明 1.1.2 举例说明 1.2 函数中使用 1.2.1 ...
- python生成yaml文件_Python实践34-读写yaml文件
关于yaml YAML语言的设计目标,就是方便人类读写.如果你想要实现一些用ini不好做到的配置,可以使用yaml格式作为配置文件 大小写敏感 使用缩进表示层级关系 缩进时不允许使用Tab键,只允许使 ...
- 毕业论文内容指导与格式检查指南
目录 一.论文撰写 论文撰写参考资料 二.论文内容初步检查 三.论文格式检查指南 论文格式调整参考资料 一.论文撰写 详见毕业论文内容框架指导(程序设计类). 撰写前请下载最新版的毕业设计论文模板. ...
- ROS机器人操作系统最佳实践指南
----ROS Best Practices:https://github.com/ethz-asl/ros_best_practices/wiki---- 这是使用机器人操作系统(ROS)的最佳实践 ...
- Liquibase实践指南
Liquibase实践指南 1.概述 本文主要介绍了 什么是 Liquibase,以及在 SpringBoot 项目中集成使用 Liquibase 对数据库表进行管理,包括自动创建数据库表.自动初始化 ...
- 前端 DSL 实践指南(上)—— 内部 DSL
编者按:本文转载自云音乐前端技术团队,作者网易云音乐前端工程师郑海波 前言 近几年,前端社区中 DSL 这个词开始频繁出镜,这和环境的变化有很大关系: React.Vue.Angular 等现代框架的 ...
- 深度学习「CV」学习实践指南!
↑↑↑关注后"星标"Datawhale 每日干货 & 每月组队学习,不错过 Datawhale干货 作者:黄星源.樊亮.陈桦.斯国一 深度学习的发展不仅突破了许多视觉难题, ...
- SMETA验厂咨询,SMETA参考实践指南BPG(本文件)的制作旨在提供一份一致的全球审核程序
SMETA 参考实践指南BPG(本文件)的制作旨在提供一份一致的全球审核程序,以便Sedex会员能够带着信任.完全透明地分享所用的标准及协议.许多种社会审核被执行,例如BSCI.WRAP.SA8000 ...
最新文章
- 美团全链路压测自动化实践
- 天刀各大区服务器位置,数据帝玩家统计 天刀全区活跃地图展示
- 目标检测系列(五)——Faster R-CNN译文
- wordpress列表页调用浏览器,wordpress显示文章浏览量!
- MYSQL常用操作(一)之设置ROOT密码,连接,常用命令
- Stack与queue的底层实现、区别。
- Python中tkinter.filedialog
- 计算机组成原理试题解析pdf,计算机组成原理试题集.pdf
- 遗传算法原理及应用一(编码、适应度函数与选择算子)
- azw3 netty权威指南_小程序,巧应用(pdf+epub+mobi+txt+azw3)
- 史上最全的画册制作流程—设计前的策划
- iPhoneXs iPhoneXs Max iPhoneXr 界面适配问题
- python第一章(下)
- 江南大学 超级计算机,2012年暑期学校22-过程之旅--江南大学 李婷
- erdas图像增强步骤_ERDAS图像增强处理.ppt
- 个人项目——中小学数学卷子自动生成程序
- 【搞定工作】无惧尾款,打工就要来这里!
- oracle 翻译ip归属地/经纬度/定位;获取ip归属地/经纬度/定位;获取ip gps定位/lng,lat/坐标
- 【Python】 1051 复数乘法 (15 分)
- 微信域名检测是否被封的检测api接口