眾所周知,各類框架及軟體都會用到配置檔案,而配置檔案格式也有很多種,最為常見的就是YAML、JSON、INI等,但在我看來,這三者都不是很好的配置檔案格式。
YAML它一種標記語言,類似XML,但是在語法上比XML要簡單許多。
1、優點
沒有封閉的符號(如:引號、括號、標籤等)
層次感強、較為直觀
支援單行註釋
2、缺點
它是靠縮排(空格)和換行來表示層級及分隔資料的,搞不好就會把層次弄錯,這是致命的缺點
空格不利於修改編寫
不同程式語言間解析可能會存在問題,或多或少存在相容性問題
JSON本質上是JS物件的字串表示法。
簡單了明,易上手
可讀性較強(只是對於資料交換格式而言)
不支援註釋,這是致命的缺點
INI檔案沒有固定的標準格式,在Windows平臺上見得較多。INI檔案是代表初始(Initial),所以主要用於初始檔案配置。
以配置節的方式來區分不同的資料,較為直觀
結構簡單
支援註釋
不適合儲存複雜的資料結構
眾所周知,各類框架及軟體都會用到配置檔案,而配置檔案格式也有很多種,最為常見的就是YAML、JSON、INI等,但在我看來,這三者都不是很好的配置檔案格式。
YAML配置法YAML它一種標記語言,類似XML,但是在語法上比XML要簡單許多。
house: family: name: 張三 address: number: 221、優點
沒有封閉的符號(如:引號、括號、標籤等)
層次感強、較為直觀
支援單行註釋
2、缺點
它是靠縮排(空格)和換行來表示層級及分隔資料的,搞不好就會把層次弄錯,這是致命的缺點
空格不利於修改編寫
不同程式語言間解析可能會存在問題,或多或少存在相容性問題
JSON配置法JSON本質上是JS物件的字串表示法。
{"name":"張三","age":20}1、優點
簡單了明,易上手
可讀性較強(只是對於資料交換格式而言)
2、缺點
不支援註釋,這是致命的缺點
INI配置法INI檔案沒有固定的標準格式,在Windows平臺上見得較多。INI檔案是代表初始(Initial),所以主要用於初始檔案配置。
[client]host = 127.0.0.1; 註釋name = client1[server]host = 192.168.1.11、優點
以配置節的方式來區分不同的資料,較為直觀
結構簡單
支援註釋
2、缺點
不適合儲存複雜的資料結構