YAML(/?jæm?l/,尾音類似camel駱駝)是一個可讀性高,用來表達(dá)數(shù)據(jù)序列化的格式。YAML參考了其他多種語言,包括:C語言、Python、Perl,并從XML、電子郵件的數(shù)據(jù)格式(RFC 2822)中獲得靈感。
YAML的語法和其他高級語言類似,并且可以簡單表達(dá)清單、散列表,標(biāo)量等數(shù)據(jù)形態(tài)。它使用空白符號縮進(jìn)和大量依賴外觀的特色,特別適合用來表達(dá)或編輯數(shù)據(jù)結(jié)構(gòu)、各種配置文件、傾印調(diào)試內(nèi)容、文件大綱(例如:許多電子郵件標(biāo)題格式和YAML非常接近)。盡管它比較適合用來表達(dá)層次結(jié)構(gòu)式(hierarchical model)的數(shù)據(jù)結(jié)構(gòu),不過也有精致的語法可以表示關(guān)系性(relational model)的數(shù)據(jù)。由于YAML使用空白字符和分行來分隔數(shù)據(jù),使得它特別適合用grep/Python/Perl/Ruby操作。其讓人最容易上手的特色是巧妙避開各種封閉符號,如:引號、各種括號等,這些符號在嵌套結(jié)構(gòu)時會變得復(fù)雜而難以辨認(rèn) 。