【问题标题】:How to handle cycles in object graph with yamldotnet serializers如何使用 yamldotnet 序列化程序处理对象图中的循环
【发布时间】:2021-06-17 04:49:29
【问题描述】:

我正在尝试使用 Yamldotnet 库来序列化具有循环引用的模型。我应该使用哪些序列化程序设置或数据类属性来实现这一点?我希望能够序列化和反序列化模型,保留引用。

示例模型:

public class Book
{
    public string Title { get; set; }
    public List<Author> Authors { get; set; }
}

public class Author
{
    public string Name { get; set; }
    public List<Book> Books { get; set; }
}

目前我可以将模型正确序列化为 yaml:

&o0 !Author
Name: name1
Books:
- !Book
  Title: title1
  Authors:
  - *o0

,但是反序列化会抛出异常:

YamlDotNet.Core.AnchorNotFoundException: (Line: 7, Col: 5, Idx: 70) - (Line: 7, Col: 8, Idx: 73): Alias $o0 cannot precede anchor declaration

My code sample on .NET fiddle

【问题讨论】:

    标签: c# .net serialization yaml yamldotnet


    【解决方案1】:

    好像是 YamlDotNet 库的 bug,应该在 9.1.4 之后的下一个版本中修复。

    【讨论】:

      猜你喜欢
      • 2023-01-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-08-25
      相关资源
      最近更新 更多