yamldotnet と c# を使用して、サード パーティのソフトウェア アプリケーションによって作成されたファイルを逆シリアル化しています。次の YAML ファイルの例は、両方ともアプリケーションから有効です。
#File1
Groups:
- Name: ATeam
FirstName, LastName, Age, Height:
- [Joe, Soap, 21, 184]
- [Mary, Ryan, 20, 169]
- [Alex, Dole, 24, 174]
#File2
Groups:
- Name: ATeam
FirstName, LastName, Height:
- [Joe, Soap, 184]
- [Mary, Ryan, 169]
- [Alex, Dole, 174]
File2 には Age 列がありませんが、デシリアライザーは各行の 3 番目の値が年齢ではなく高さであることを認識する必要があることに注意してください。このデータは、人のテーブルを表すことになっています。たとえば、File1 の場合、Mary Ryan は 20 歳で、身長は 169 cm です。デシリアライザーは、持っている列を理解し (File2 の場合、FirstName、LastName、および Height のみを持っています)、適切なオブジェクトにデータを適切に格納する必要があります。Mary Ryan の身長は 169cm です。
同様に、プログラムのドキュメントには、列の順序は重要ではないことが記載されているため、以下の File3 は、Height が最初であっても File2 のデータを表すのと同様に有効な方法です。
#File3
Groups:
- Name: ATeam
Height, FirstName, LastName:
- [184, Joe, Soap]
- [169, Mary, Ryan]
- [174, Alex, Dole]
いくつか質問があります:
- これは標準の YAML ですか? - 同じ行で多数のキーを使用し、その後にコロンと値のリストを続けてデータのテーブルを表す方法については何も見つかりませんでした。
- yamldotnet を使用してこれを逆シリアル化するにはどうすればよいですか? それを助けるために私ができる修正はありますか?
- yamldotnet を使用できない場合、どうすればよいですか?