C Sharpの基礎 - YAML
ナビゲーションに移動
検索に移動
概要
YAML (YAML Ain't Markup Language) は、人間にとって読み書きし易いデータシリアライゼーション形式である。
C#でYAMLファイルを扱う場合は、一般的には、サードパーティ製ライブラリであるYamlDotNetライブラリ等を使用する。
YAMLファイルの基本構造は、キーと値のペアで構成されている。
これは階層構造を持つことができ、インデントを使用して表現する。
name: John Doe
age: 30
address:
street: 123 Main St
city: Anytown
YAMLのメリットとして、JSONやXMLと比べて冗長性が低く、より直感的な記述が可能である。
また、コメントを含められるため、設定ファイルとして使用する場合に説明を加えやすいという特徴がある。
C#でYAMLファイルを使用する一般的なケースとしては、
アプリケーション設定の管理、データのシリアライゼーション / デシリアライゼーション、構造化されたデータの保存等が挙げられる。
YAMLの使用する場合は、インデントに注意が必要である。
スペースの数が正確でない場合は、意図しない構造になる可能性がある。
また、複雑なデータ構造を扱う場合は、カスタムクラスを定義してデシリアライズすると、より型安全なコードを記述することができる。
YAMLは柔軟性が高いため、様々なデータ形式に対応できるが、セキュリティ上の懸念から、信頼できないソースからのYAMLデータを扱う場合は注意が必要である。
YamlDotNetライブラリ
YAMLファイルの読み込み
以下の例では、YamlDotNetライブラリを使用して、YAMLファイルを読み込んでいる。
var deserializer = new DeserializerBuilder().Build();
var yaml = File.ReadAllText("config.yaml");
var result = deserializer.Deserialize<Dictionary<string, object>>(yaml);