配置文件 .yml 寫法小結(jié)

yaml
yaml

yaml 是什么?

在 github 一些開源項目里經(jīng)常可以看到 .travis.yml 文件,后來接觸持續(xù)集成這個概念時發(fā)現(xiàn)很多文件都是 .yml 后綴的文件。我在 阮一峰-YAML 語言教程 里了解了它的作用以及基本寫法,他的那篇文章描述的略微有點啰嗦,實際看到的大多數(shù)配置文件還是及其簡單的,而我們要做的是能讀懂它們,就像讀懂 .json 一樣。

yaml 語言(或者說是一種規(guī)范吧)可以編寫 .yml 文件,和 json 一樣是配置文件。也許是有人認為 json 的寫法不爽,于是乎發(fā)明了這玩意,通過下面的例子,可以看到 yaml 寫的配置文件確實要比 json 方便很多。

編寫規(guī)則

  • 大小寫敏感

json 里也是大小寫敏感的,這點二者一樣。

  • 使用縮進表示層級關(guān)系

json 中使用 {} 的嵌套表示層級,而 yaml 使用縮進,后者更方便一些。

  • # 表示注釋

json 文件中不允許寫注釋,對于很長配置文件全靠字面意思猜挺痛快的,yaml 可以寫注釋,:100:

數(shù)據(jù)結(jié)構(gòu)

配置文件理應十分簡潔,與 json 相比,不用頻繁的寫 {}[],畢竟換行和 - 符號更加簡潔,字符串也不需要頻繁的加引號(無論是單引號還是雙引號)。

對象

# conf.yml
animal: pets
hash: { name: Steve, foo: bar }

轉(zhuǎn)換為 json 為:

{
    { "animal": "pets" },
    { "hash": { "name": "Steve", "foo": "bar" } }
}

數(shù)組

# conf.yml
Animal:
 - Cat
 - Dog
 - Goldfish

轉(zhuǎn)換為 json 為:

{ "Animal": [ "Cat", "Dog", "Goldfish" ] }

字符串

# conf.yml
# 正常情況下字符串不用寫引號
str: 這是一行字符串
# 字符串內(nèi)有空格或者特殊字符時需要加引號
str: '內(nèi)容: 字符串'

null

# conf.yml
parent: ~

.yml 中 ~ 表示 null,轉(zhuǎn)換為 json 為:

{ "parent": null }
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關(guān)閱讀更多精彩內(nèi)容

  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理,服務發(fā)現(xiàn),斷路器,智...
    卡卡羅2017閱讀 136,506評論 19 139
  • ESLint 配置 ESlint 被設(shè)計為完全可配置的,這意味著你可以關(guān)閉每一個規(guī)則而只運行基本語法驗證,或混合和...
    靜默虛空閱讀 41,834評論 3 14
  • Spring Boot 參考指南 介紹 轉(zhuǎn)載自:https://www.gitbook.com/book/qbgb...
    毛宇鵬閱讀 47,253評論 6 342
  • 寫了好多關(guān)于selenium的文章,今天換個口味,推薦一個文件格式 -- yaml,以及對應的Python庫 --...
    灰藍藍藍藍藍藍閱讀 5,807評論 2 16
  • 01. Matrix Multiplication (4 ways) 02. Inverse Matrix 03....
    孫寅閱讀 310評論 0 0

友情鏈接更多精彩內(nèi)容