问题标签 [yamldotnet]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
1422 浏览

c# - 如何使用 DeserializerBuilder?

在尝试使用 YamlDotNet 时,我遇到了这个警告:

Deserializer.Deserializer(IObjectFactory, INamingConvention, bool, YamlAttributeOverrides) 已过时:'请使用 DeserializerBuilder 自定义 Deserializer。这个构造函数将在未来的版本中被删除。

于是我去官方项目主页:

然后单击“反序列化对象图”示例,这会将我带到这里: https ://dotnetfiddle.net/HD2JXM

而且,令人惊讶的是,这也使用了过时的功能。

我通过这样做来修复它:

而不是我之前的:

它是否正确?

0 投票
1 回答
2776 浏览

c# - 如何反序列化 YamlDotNet 中的 YamlNode?

我有一个应用程序,我可以在其中读取我事先不知道其结构的任意 Yaml 文件。我发现YamlStream和其他YamlNode实现很有用,因为它们允许我遍历整个 Yaml 文件。但是,在某些时候我有一个YamlNode,通常是一个YamlScalarNode,我想使用 YamlDotNet 的能力将该节点反序列化为一个对象。我怎样才能做到这一点?

这是我尝试过的。它很丑陋,而且它只适用于带有显式标签的节点(例如!!bool "true"变成true,但是1变成"1"):

一定有更好的方法,我只是还没有找到。

0 投票
2 回答
5198 浏览

c# - 使用 yamldotnet 反序列化 yaml 时出错

我在玩 yaml 和YamlDotNet

但是我在反序列化一些看起来很容易做到的问题时遇到了问题。

这是我的 yaml 文件:

相关的 C# 对象:

使用此代码对其进行反序列化:

我有这个错误/堆栈竞赛:

知道我做错了什么吗?

已编辑

GVim 中 Hexa 视图中的文件。

在此处输入图像描述

0 投票
1 回答
3482 浏览

c# - 如何将 C# 中的 Type 类对象序列化和反序列化为 YAML?

我有一个要求,我必须将以下类型层次结构序列化为 YAML

在这里,我遇到了一个例外

附加信息:调用的目标已引发异常。{“方法只能在 Type.IsGenericParameter 为 true 的类型上调用。”}

请帮忙 !!

0 投票
1 回答
2199 浏览

c# - 将复杂类型的 C# 转换为 YAML

我是 YAML 的初学者,正在研究如何将 YAML 解析为 C#。在这里,我试图解析 C# 对象模块,其中我有复杂对象类型的数据,例如 C# 中的 DataTable 类或 Type 类。我知道如何使用 YAMLDotNet 库转换基本类型,但真的不知道如何对这些类型做同样的事情。请帮忙。

0 投票
1 回答
1120 浏览

c# - 从 YamlDotNet 反序列化器访问密钥

我正在尝试从我无法控制某些文件在何处具有数字键的源中反序列化 YAML 文件。

例子:

出于我的目的,数字键对存储很重要,因为这是其他数据集引用数据的方式。

例子:

有什么方法可以从 YAMLDotNet 的 Deserializer 访问密钥来提供课程?

0 投票
2 回答
12895 浏览

c# - 当每个对象的根节点使用其 ID 命名时,使用 YamlDotNet 反序列化 YAML?

我正在使用 C#,并且我有一个要反序列化的 YAML 文件。

我看过使用 YamlDotNet,它看起来相当不错,但我找不到如何处理这种情况。

我正在使用的 YAML 文本具有以下格式:

我希望它看起来像这样,但事实并非如此:

我当然可以通过循环遍历每个节点并手动创建数据对象实例来恢复手动操作,但似乎仍然应该有一种方法可以在处理这种烦人的数据结构时从 YamlDotNet 轻松使用。

我对 .NET 中其他 YAML 解析库的建议持开放态度。

0 投票
1 回答
1772 浏览

c# - 在 c# 中使用 YamlDotNEt 和自定义类型类反序列化嵌套的 YAML

我已经解决了这几天,只是无法让它工作。我有一个遵循以下格式的 YAML 文件(注意我无法更改交付格式,因为它是外部的)。我选择了一个随机主题,但结构是相同的。

我创建了一个自定义类来在反序列化时包含这些数据。

就像是:

所以!

问题 1:我可以使用什么名称,或者如何让 addressData 列表接受任何名称。基本上接受它是因为它在结构中的位置而不是键的名称。

问题 2:我想从这个 addressData 的“容器”中记录键名并将其保存到 addressData 对象的邮政编码点。

0 投票
1 回答
1070 浏览

c# - YamlDotNet 找不到属性

我正在尝试创建一个简单的模型,用于使用YamlDotNet将 yaml 文件解析为我的域对象。需要注意的是,我希望域模型是只读的,所以我试图通过继承和内部设置器来解决这个问题。

但由于某种原因,该库引发了一个异常,说明:

在类型“ConsoleApplication1.Repositories.YamlTemplateRepository+DeserializeableTemplate”上找不到属性“HtmlTemplate”。

我正在使用别名,但即使是从头开始,并且使用具有正确属性名称的测试类也不能正确设置它。

我究竟做错了什么?我是否误解了应该如何使用该库?

调用 YamlDotNet 的代码如下所示:

我反序列化的类看起来像这样:

和我继承的类:

可以在此处找到具有相同错误的小型控制台测试应用程序

0 投票
1 回答
653 浏览

c# - 删除 YamlDotNet 使用的默认构造函数

我有一个包含各种类型节点的对象图。所有节点都派生自一个 Node 类。使用 YamlDotNet,我通过提供自己的IObjectFactory. 剩下要做的唯一一件事就是摆脱只为取悦 YamlDotNet 序列化程序而存在的构造函数。

看看下面的 .NET fiddle https://dotnetfiddle.net/KJMzxD

FancyNode.ctor()是我想删除的构造函数,但我不确定如何告诉序列化器我已经处理了反序列化器中的所有内容。如果我只是删除它,我会收到以下错误

类型“FancyNode”无法反序列化,因为它没有默认构造函数或类型转换器。