反序列化嵌套字典

Deserialize a nested dictionary

我想将 YAML 文档转换为对象图 using YamlDotNet deserializer。以下是 yhe YAML 文件的示例。

desks:
  - A5
  - A6
  - A7
  - A8
  - ...
employees:
  - E00
  - E10
  - E20
  - ...
schedule:
  0:
    E00: A0
    E10: A1
    E100: A10
    E20: A2
    E30: A3
    E40: A4
    E50: A5
    E60: B0
    E70: F3
    E80: A8
    E90: A9
  1:
    E00: A0
    E10: A1
    E100: A10
    E20: A2
    E30: A3
    E40: A4
    E50: A5
    E60: B0
    E70: F3
    E80: A8
    E90: A9
  ...

按照我之前链接的指南,我创建了一个 Scheduler 封装了我的 YAML 文档中要使用

进行转换的所有节点
var deserializer = new DeserializerBuilder()
                .WithNamingConvention(CamelCaseNamingConvention.Instance)
                .Build();

var order = deserializer.Deserialize<Scheduler>(input);
public class Scheduler
{
    public List<string> desks { get; set; }
    public List<string> employees { get; set; }

}

但是,我不知道如何表示schedule节点,它是一个可变长度的嵌套字典。

我可以在 C# 中使用哪种数据结构来表示这样的 YAML 结构?

我成功了,但我很好奇是否有更好的方法。我有 JSON 反序列化经验,但没有太多 YAML 反序列化经验。

public class Scheduler
{
    public List<string> desks { get; set; }
    public List<string> employees { get; set; }
    public IDictionary<int, IDictionary<string,string>> schedule { get; set; }
}