小编Bar*_*rry的帖子

反序列化数据的YAML"表"

我使用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]
Run Code Online (Sandbox Code Playgroud)

请注意,File2没有任何Age列,但反序列化器仍然必须识别每行的第三个值是高度而不是年龄.这些数据应该代表一个人的表.以File1为例,Mary Ryan年仅20岁,身高169厘米.反序列化器需要理解它具有的列(对于File2,它只有FirstName,LastName和Height)并相应地将数据存储在正确的对象中:Mary Ryan高169厘米.

类似地,程序文档声明列的顺序并不重要,因此下面的File3是一种同样有效的方式来表示File2中的数据,即使Height现在是第一个:

#File3
Groups:
 - Name: ATeam
   Height, FirstName, LastName:
      - [184, Joe, Soap]
      - [169, Mary, Ryan]
      - [174, Alex, Dole]
Run Code Online (Sandbox Code Playgroud)

我有很多问题:

  1. 这是标准的YAML吗? - 我找不到任何关于在同一行上使用多个键的信息,后面跟一个冒号和值列表来表示数据表.
  2. 我如何使用yamldotnet反序列化?我可以做些修改来帮助吗?
  3. 如果我不能使用yamldotnet,我应该怎么做呢?

c# yaml yamldotnet

5
推荐指数
1
解决办法
2837
查看次数

标签 统计

c# ×1

yaml ×1

yamldotnet ×1