.yml是什么文件(編寫規(guī)則)
更新時間:2024年01月04日 10:50:29 作者:凈-本空
YAML (YAML Aint Markup Language) 是一種標記語言,一種專門用來寫配置文件的語言, 可用于如: Java,C/C++, Ruby, Python, Perl, C#, PHP等,本文對.yml文件詳細講解,包括編寫規(guī)則和yml優(yōu)點,感興趣的朋友跟隨小編一起看看吧
一、YML是什么
- YAML (YAML Aint Markup Language) 是一種標記語言,
- 通常以.yml為后綴的文件
- 是一種直觀的能夠被電腦識別的數據序列化格式
- 容易被人類閱讀 容易和腳本語言交互的
- 可以被支持YAML庫的不同的編程語言程序導入
- 一種專門用來寫配置文件的語言。 可用于如: Java,C/C++, Ruby, Python, Perl, C#, PHP等
- yaml語言者說是一種規(guī)范
二、 編寫規(guī)則
1.基本語法
- k: v 表示鍵值對關系,冒號后面必須有一個空格
- 使用空格的縮進表示層級關系,空格數目不重要,只要是左對齊的一列數據,都是同一個層級的
- 縮進時不允許使用Tab鍵,只允許使用空格。
- 大小寫敏感
- “”: 雙引號;不會轉義字符串里面的特殊字符,name: “zhangsan \n lisi”:輸出;zhangsan 換行 lisi
- ‘’:單引號;會轉義特殊字符,特殊字符最終只是一個普通的字符串數據
松散表示,java中對于駝峰命名法,可用原名或使用-代替駝峰,如java中的 lastName屬性,在yml中使用lastName或 last-name都可正確映射
name1: zhangsan name2: 'zhangsan \n lisi' name3: "zhangsan \n lisi" age: 18 flag: true # 日期 date: 2019/01/01 # 對象屬性關系 people: name: zhangsan age: 20 # 行內寫法 people: {name:zhangsan,age: 20} # 數組寫法 pets: - dog - pig - cat # 數組行內寫法 pets: [dog,pig,cat]
2. 對比Json差別
- 大小寫敏感 (json 里也是大小寫敏感的)
- 使用縮進表示層級關系 (json 中使用 {} 表示層級)
- "#"表示注釋 (json 不允許寫注釋, yaml 寫的配置文件要比 json 方便很多)
- 對象
# conf.yml animal: pets hash: { name: Steve, foo: bar }
轉json
{ { "animal": "pets" }, { "hash": { "name": "Steve", "foo": "bar" } } }
數組 / 字符串 / null
# conf.yml Animal: - Cat - Dog - Goldfish # 正常情況下字符串不用寫引號 str: 這是一行字符串 # 字符串內有空格或者特殊字符時需要加引號 str: '內容: 字符串' parent: ~ # null
轉json
{ "Animal": [ "Cat", "Dog", "Goldfish"], "str": "內容: 字符串", "parent": null }
3. 對比Java事例代碼
public class Person { private String lastName; private Integer age; private Boolean boss; private Date birth; private Map<String,Object> maps; private List<Dog> lists; private Dog dog; private String[] arr; } public class Dog { private String name; private Integer age; } 對應的yml person: boss: false maps: k1: v1 k2: 14 lists: - name: d1 age: 2 - name: d2 age: 3 - {name: d3,age: 4} birth: 2017/12/15 dog: name: p_dog age: 15 age: 13 last-name: 張三 arr: [s1,s2,s3]
4. 文檔塊
對于測試環(huán)境,預生產環(huán)境,生產環(huán)境可以使用不同的配置,如果只想寫到一個文件中,yml與是支持的,每個塊用----隔開
server: port: 8081 spring: profiles: active: prod #激活對應的文檔塊 --- server: port: 8083 spring: profiles: dev #指定屬于哪個環(huán)境 --- server: port: 8084 spring: profiles: prod #指定屬于哪個環(huán)境
三、YML的優(yōu)點
- 易于閱讀 數據在編程語言之間是可移植性強
- 匹配敏捷語言的本機數據結構
- 具有一致的模型來支持通用工具
- 支持單程處理。
- 具有表現力和可擴展性
- 易于實現和使用
到此這篇關于.yml是什么文件的文章就介紹到這了,更多相關.yml是什么文件內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
Visual Studio 2022 集成 GIT 使用圖文教程
本文詳細介紹了VisualStudio2022與GIT集成的操作步驟,包括下載GIT、安裝和配置GIT、以及如何在VisualStudio2022中下載GIT項目和上傳項目到GIT服務器,感興趣的朋友跟隨小編一起看看吧2024-09-09