0
尝试使用YAMLDOTNET的序列化程序,当我拥有一些问题时,会出现一些问题,而且对象不仅包含字符串,而且还包含特殊对象。在对象中使用对象
序列化时我只会得到{}字符串。如果例如在Serializing an object graph样本上,我们定义一个结构地址。然后我们在里面创建一个类Address的新对象,这个对象最终被分配到收据中,结果也会在yaml文件的地址字段中显示出来。
示例代码也可以看到here。这将创建一个输出,看起来像:
receipt: Oz-Ware Purchase Invoice
date: 2007-08-06T00:00:00.0000000
customer:
given: Dorothy
family: Gale
items:
- part_no: A4786
descrip: Water Bucket (Filled)
price: 1.47
quantity: 4
- part_no: E1628
descrip: High Heeled "Ruby" Slippers
price: 100.27
quantity: 1
bill_to: &o0 {}
ship_to: *o0
所以bill_to将显示为{}
这种解决问题的方法是,接下来是我在字段上使用属性MarshalAs,并且此属性不能与属性一起使用。 – OscarSanhueza 2015-01-30 13:11:13
当我使用相同的结构将YAML字段中的内容下载到需要此编组结构的实时应用程序时,会有点复杂。你知道为什么YamlDotNet不会序列化字段的任何原因吗? – OscarSanhueza 2015-01-30 13:59:17
我不确定它为什么不将字段序列化。 [YamlAttributesTypeInspector](https://github.com/aaubry/YamlDotNet/blob/master/YamlDotNet/Serialization/YamlAttributesTypeInspector.cs)中的GetProperties()方法具有确定哪些属性被序列化的逻辑。 – matthewrwilton 2015-01-31 20:37:30