yaml 檔案格式簡介

2021-08-03 22:00:13 字數 1822 閱讀 2551

yaml 的意思其實是:"yet another markup language"(仍是一種置標語言)的縮寫。

yaml的語法和其他高階語言類似,並且可以簡單表達清單、雜湊表,標量等資料形態、。

儘管它比較適合用來表達階層式(hierarchical model)的資料結構,不過也有精緻的語法可以表示關聯性(relational model)的資料。

由於yaml使用空白字元和分行來分隔資料,使的他特別適合用 grep、python、perl、ruby 操作。

其讓人最容易上手的特色是巧妙避開各種封閉符號,如:引號、各種括號等,這些符號在巢狀結構中會變得複雜而難以辨認。

資料結構可以用類似大綱的縮排方式呈現,結構通過 縮排

來表示,連續的專案通過減號「-」

來表示,map 結構裡面的 key/value 對用冒號「:」來分隔。樣例如下:

house:

family:

name: doe

parents:

- john

- jane

children:

- paul

- mark

- simone

address:

number: 34

street: main street

city: nowheretown

zipcode: 12345

注意:

字串不一定要用雙引號標識;

在縮排中空白字元的數目並不是非常重要,只要相同階層的元素左側對齊就可以了(不過 不能使用tab字元);

允許在檔案中加入選擇性的空行,以增加可讀性;

在乙個檔案中,可同時包含多個檔案,並用「——」分隔;

選擇性的符號「...」可以用來表示檔案結尾(在利用串流的通訊中,這非常有用,可以在不關閉串流的情況下,傳送結束訊號)。

yaml也有用來描述好幾行相同結構的資料的縮寫語法,陣列用''包括起來,hash用'{}'來包括。因此,上面的這個yaml能夠縮寫成這樣:

house:

family:

address:

john.yaml 檔案:

name: john smith 

age: 37

spouse:

name: jane smith

age: 25

children:

- name: jimmy smith

age: 15

- name: jenny smith

age 12

陣列表示:

<?php

$john = array(

'name'=> 'john smith',

'age'=> 37,

'spouse'=> array(

'name'=> 'jane smith',

'age'=> 25

),'children'=> array(

0 =>array(

'name'=> 'jimmy smith',

'age'=> 5

),1 =>array(

'name'=> 'jenny smith',

'age'=> 3))

);

php 解析 yaml 檔案的類:

syck:

YAML檔案格式簡介

yaml是一種用來寫配置檔案的序列化語言,跟json有些像,yaml又稱作json的超集,yaml的設計則是為了友好可讀性,主要用於配置資訊的書寫,而json設計的目的則是為了簡單和通用,主要用於儲存資料和應用層資料通訊使用。yaml基於縮排的作用域跟python語法格式比較相似,縮排塊方便資料的結...

plist檔案格式簡介

plist是property list的縮寫。plist中包括一些命名值和使用core foundation型別建立的值的列表。這些型別包括cfstring,cfnumber,cfboolean,cfdata,cfdate,cfarray,以及cfdictionary。利用這些型別建立的資料能夠高效...

BMP檔案格式簡介

bmp檔案是一種畫素檔案,它儲存了一幅圖象中所有的畫素。這種檔案格式可以儲存單色位圖 16色或256色索引模式畫素圖 24位真彩色圖象,每種模式種單一畫素的大小分別為1 8位元組,1 2位元組,1位元組和3位元組。目前最常見的是256色bmp和24位色bmp。這種檔案格式還定義了畫素儲存的幾種方法,...