我正在使用 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 列,但解串器仍必须识别出每行的第三个值是高度而不是年龄。该数据应该代表一个人员表。以 File1 为例,Mary Ryan 年龄 20 岁,身高 169 厘米。解串器需要了解它所具有的列(对于 File2,它只有 FirstName、LastName 和 Height)并将数据相应地存储在正确的对象中:Mary Ryan 身高 169 厘米。
同样,程序文档指出列的顺序并不重要,因此下面的 File3 是表示 File2 中数据的同样有效的方法,即使高度现在是第一位的:
#File3
Groups:
- Name: ATeam
Height, FirstName, LastName:
- [184, Joe, Soap]
- [169, Mary, Ryan]
- [174, Alex, Dole]
我有很多问题:
- 这是标准的 YAML 吗? - 我找不到任何有关使用的信息
同一行上的多个键,后跟冒号和列表
值来表示数据表。
- 我将如何使用 yamldotnet 反序列化它?在那儿
我可以做一些修改来帮助它吗?
- 如果我无法使用 yamldotnet,我该怎么办?