问题标签 [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 回答
26992 浏览

.net - YAML 中的单个感叹号有什么作用?

我正在使用YamlDotNet库,加载 YAML 文件时出现此错误:

解析标签时,未找到预期的标签 URI。

YAML 文件应该是格式正确的,因为它来自 RoR。该错误似乎是由以下代码触发的:

我不是专家,但我从 YAML 规范中看到,您可以使用感叹号表示自定义对象/类型,使用两个感叹号表示明确的内置类型。

但是,我无法找到对上述使用的感叹号的任何引用。这是什么意思,为什么我使用的 YAML 库似乎无法解析它?请注意,如果我删除这些感叹号,则文件解析得很好。

0 投票
2 回答
1026 浏览

c# - 解析 Unity3D 动画控制器导致 SemanticErrorException

我正在编写一个 C# 脚本来从代码修改 Unity3D 4.1 中的动画控制器。因此,我使用 YamlDotNet yaml 解析器解析控制器,但在尝试解析控制器文件时遇到错误。

我用其他 yaml 示例进行了尝试,它工作正常,但是控制器旁边有一些特殊的标签 --- 这似乎导致解析器遇到 SemanticErrorException。

请参阅以下代码,它代表 AnimationController yaml 文件的一些行:

解析类似于以下示例的文件可以正常工作:

我在 1.1 的 yaml 规范中寻找解决方案。和 1.2 但我仍然不明白这些标签代表什么以及它们是如何解释的。

yaml.org/spec/1.1/

yaml.org/spec/1.2/

有人可以向我解释这些标签,也许还有我如何仍然可以使用解析器解析 AnimationController 而无需编写自己的 yaml 解析器。

任何帮助表示赞赏!谢谢!

问候

托马斯

0 投票
1 回答
1365 浏览

c# - C# YamlDotNet 库是否支持合并键?

我对 C# YamlDotNet 库 http://www.aaubry.net/page/YamlDotNet有疑问

你知道图书馆是否支持“合并密钥”吗? http://yaml.org/type/merge.html

这似乎对我不起作用。在其他库中,例如 PyYaml,合并工作正常。

0 投票
1 回答
504 浏览

yamldotnet - 序列化为 YAML 文件时出现问题

我已经开始为 yaml 使用 .net API,它似乎很有帮助。但是我有几个问题,想知道您是否可以提供一些示例/解决方法。(1) 我有一个包含 4 个字符串的对象,我想序列化它的集合(List 或 String[])。我编写了一个辅助方法来以我想要的格式返回字符串,但是它在字符串之前和之后添加了一个额外的单引号。所以我得到

代替

你能建议任何解决方法吗?

(2) 我正在尝试将 xaml 作为字符串插入到 yaml 文档中。我的 xaml 是格式良好的 xml,但是当我对其进行序列化时,它会在倒数第三个元素之前剪切。知道为什么吗?

0 投票
1 回答
2460 浏览

c# - 当 YAML 文档的字段不在类型中时,YamlDotNet 反序列化抛出异常

YamlDotNet 是否支持反序列化文档中的字段未映射到结果对象中的字段的文档?例如:

给定一个类型:

如果我在以下文档上使用 YamlDotNet 的反序列化,它会生成一个异常:

查看 YAML 规范,应该允许忽略不匹配的字段。查看 YamlDotNet 代码,似乎假定文档中的所有字段都将映射到结果对象。

是否存在使解析“允许”的现有方法,或者我是否需要修改 YamDotNet 以允许这样做?

0 投票
1 回答
466 浏览

c# - 如何手动反序列化标量值?

我正在遍历 Yaml 文件,并希望将保存在 YamlScalarNode 的值中的字符串反序列化为 dotnet 类型。

我在 YamlScalarNode 中找不到转换方法。

项目中必须有一个转换器,它考虑 yaml 约定以两种方式进行解析。我就是找不到。

0 投票
2 回答
860 浏览

c# - 有没有办法确定 POCO 属性如何使用 YamlDotNet 序列化?

如果我在 C# 中定义了 POCO,我可以控制该 POCO 的属性在 YAML 中的表示方式吗?

例如:

我希望它被序列化如下(基本上是小写):

在 json.net 中,我可以使用确定该对象应如何序列化的属性来装饰 POCO。YamlDotNet 中是否有等价物?

0 投票
2 回答
2121 浏览

c# - 将 YAML 反序列化为自定义类型

我目前正在尝试使用 YamlDotNet 库将 YAML 文档反序列化为标准 .NET 对象,例如string标量值和映射。Dictionary<string, object>

我猜这个Deserializer类是最好的选择,但它的输出是objectand Dictionary<object>。我尝试INodeTypeResolver像这样实现自定义:

并像这样使用它:

但这似乎没有任何效果。有什么办法可以改变产生的对象的类型Deserializer吗?

0 投票
1 回答
630 浏览

c# - YamlDotNet 没有正确反序列化双字 unicode 字符

我正在开发一个 twitter 文本 c# 库,并且 twitter 已经在他们的一致性测试中添加了一个双字 unicode 字符测试。

https://github.com/twitter/twitter-text-conformance/blob/master/validate.yml

这是针对上述文件运行的 nUnit 测试方法。

这是产生的错误: Vocus.TwitterText.Tests.ConformanceTest.TestDoubleWordUnicodeYamlRetrieval: Yaml 无法在测试 5 解析双字 unicode 字符串 - 计算基本多语言平面(双字)之外的 unicode 字符。意外异常:System.ArgumentException

0 投票
3 回答
12000 浏览

c# - 寻求指导使用 C# 阅读 .yaml 文件

两个月后:我尝试解析的 YAML(Eve Online blueprint.yaml)文件发生了很大变化,这也使得使用反序列化器解析变得更加容易。如果有人(无论出于何种原因)想查看代码,它会在https://github.com/hkraal/ParseYaml上更新


根据 Steve Wellens 的评论,我调整了代码以减少一次做的事情。错误本身并不重要。我在我的解决方案中创建了另一个项目(Example1)来测试我之前提到的在 aaubry.net 上找到的实际示例。

使用“动态”键时,它给了我同样的错误,这导致了我目前的结论:两者之间存在差异:

第一个用于我(错误地)假设我可以应用于使用第二种语法的 .yaml 文件的示例中。

现在还有待了解如何使用 yaml 文件中使用的语法获取密钥的“子”元素......


在工作中使用 C# 时,我开始考虑一个很好的项目来了解该语言的各个方面,同时有一个直接的工作目标。但是,我在解析 Yaml 文件的项目中很早就遇到了我的第一面墙。我的目标是创建 YamlBlueprint.cs 中定义的 YamlBlueprint 对象列表,但我什至没有到达 Yaml 文件的末尾。

我在 github 上设置了一个测试用例来演示这个问题: https ://github.com/hkraal/ParseYaml

http://www.aaubry.net/page/YamlDotNet-Documentation-Loading-a-YAML-stream上的示例一直有效,直到我想循环遍历这些项目。根据我所看到的,我应该能够将 myKey 作为参数提供给 YamlScalarNode() 以访问它下面的项目。

如果我这样做,我会收到以下错误:

当将“项目”作为参数传递给 YamlScalarNode() 时,它只是抱怨项目不存在,这是预期的。由于我不确定我的训练哪里出了问题,我希望就如何进一步排除故障提供一些帮助。