问题标签 [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.
yaml - YamlDotNet 对象等价物是什么?
我有 2 个设置:
1
2
在场景 1 中,它似乎被反序列化为具有 ParamA、ParamB 和 ParamC 的类容器。
但是在场景 2 中(注意没有“-”,它有一个键/值设置,键是任何东西)如何将其表示为一个对象?
c# - 如何解析 yaml 字符串
我想在 c# 中解析 yaml,以便获得一个哈希表列表。我正在使用 YamlDotNet。这是我的代码:
它没有失败,但给了我一个空对象。
我的yaml就像:
如何解析我的 yaml 并将其转换为所需的类型,而无需自己实现?
vb.net - YamlDotNet - Guid 属性的序列化生成空括号
我正在使用 YamlDotNet 库来序列化 Yaml 中的一些对象。我在 Guid 属性的序列化方面遇到了一些问题。Guid 属性的序列化生成空括号(例如:{})
请参阅下面的代码
此代码将输出:
与班级:
我错过了什么还是图书馆的问题?
c# - 流的 YAML 懒读
我正在使用 YAMLDotNet 库,并试图让 YamlVisitor 类触发它的事件,就像它到达每个节点类型的开始和结束时一样。如果流是使用文件或字符串的 StreamReader,这将正常工作,但如果我使用 serialPort 流,它会卡住(我想等待流结束??)
我的流是通过串行端口流动的数据,没有定义的结束。
我希望能够在每个 YAML 节点通过流时调用它们的开头和结尾处的函数。
这是我尝试过的:
当我打电话给yaml.Load(tr);
它时,它就坐在那里等待。我能够收集到它会在令牌进入时对其进行处理,但 TracingVisitor 类中没有任何内容被调用。
这是将串行数据提供给流的程序。
这是一个要运行的 YAML 字符串
c# - YamlDotNet 和自定义类型
我正在发现 yaml 和 yamldotnet。对不起,如果这是一个非常基本的问题:
使用单个感叹号在 yaml 中定义用户定义的类型是否有意义,例如:
红色:!color { 红色:255,绿色:0,蓝色:0 }
YamlDotNet 如何反序列化?换句话说,有没有办法确保类型颜色映射到.net 中的相应颜色类型?
从我对下面例子https://dotnetfiddle.net/HD2JXM的理解来看,YamlDotNet 使用 yaml 文档和 .net 类之间的隐式对应关系,将 yaml 属性映射到对应的类属性(如示例所示,这个可以自定义带注释)。但是没有进行类型检查。
进一步澄清事情。我有以下 yaml 文档,它对应于一组小部件:
我想将它映射到 c# 中相应的类型层次结构:
请注意,这里有一个类似的问题海报:使用自定义类型解析器,尚未得到回答。
谢谢!
c# - YamlDotNet 库是否支持文档分隔符?
这个YAML
文件:
正在通过此代码反序列化:
结果是异常YamlDotNet.dll
:
Update1 : SharpYaml:同样的例外
更新2 : @DarrelMiller:是的,从我的第一个示例中不清楚,但在第二个示例中可以看到文档分隔符的需要:
所以我需要分隔符来更改Deserializer
.
@AntoineAubry:感谢您的回答和 YamlDotNet,我都喜欢他们。
c# - YamlDotNet 库是否支持反序列化到现有对象?
库是否YamlDotNet
支持Deserialization
现有对象而不是创建新对象?
我需要它,因为我的对象是通过创建的Dependency Injection
,所以我更喜欢Deserialization
将所有属性填充(重写)到给定对象中的方式。
我没有找到合适的Deserialization
方法重载。
当然,我知道我可以手动处理YamlMappingNode
,但是该方法的简单性Deserialization
是如此可爱,为每种类型编写一个复制构造函数也不是一种选择。引入具有属性值的中间字典是丑陋的。
另外,我认为它可能是非常需要的功能。
c# - 如何将不匹配的标签序列化为字典?
我正在尝试使用YamlDotNet解析此 YAML 文档:
进入这个对象:
我希望 /a /b 或任何其他不匹配的属性最终出现在 Paths 字典中。如何配置YamlDotNet以支持这种情况?
反序列化设置是:
但是,鉴于SimpleDoc上没有属性/a ,它会失败。如果我在构造函数中将设置ignoreUnmatched设置为 true,它会按预期被忽略。
yamldotnet - 从 YamlStream 获取真正的布尔值
我使用 YamlDotnet 通过 YamlStream 将 yaml 流解析为字符串对象的字典。YamlMappingType、YamlSequenceNode 和 YamlScalarNode 用于将值转换为字典、列表或字符串。
但我需要得到一个真正的布尔值而不是等效的字符串,为此我使用
价值 veing 一个 YamlNode。
有没有更好的方法来做到这一点?也许是 YamlNode 的另一种子类型?
编辑:我不知道 YAML 文件的内容,我只想获取一个包含他的值的字典。
yamldotnet - 在对象内部使用对象
尝试使用YAMLDOTNET的序列化程序,当我有对象时遇到一些问题,该对象不仅由字符串组成,而且内部还有一个特殊的对象。
序列化时,我只会得到一个 {} 字符串。例如,如果在序列化对象图示例中,我们定义了一个结构地址。然后我们在里面新建一个Address类的对象,最终在receipt中赋值,结果也会是yaml文件地址字段上的{}。
示例代码也可以在这里看到。这将创建一个如下所示的输出:
所以 bill_to 将显示为 {}