JObject到YamlDotNet的C#序列化错误

JObject到YamlDotNet的C#序列化错误,c#,json,serialization,yaml,yamldotnet,C#,Json,Serialization,Yaml,Yamldotnet,我开了一张票,但我希望有人能简单地回答 YamlDotNet不支持ISerializable,但Json.Net支持ISerializable。因此,作为一种解决方法,我们首先尝试将对象序列化为JObject,这尊重我们的序列化设置,并且只序列化适当的属性。然后,我们想将JObject发送到YamlSerializer,但出现以下错误: “对象与目标类型不匹配”以下帖子中的建议可用作解决方法: i、 e。 使用动态Expando对象将JSON转换为YAML 例如: var expConvert

我开了一张票,但我希望有人能简单地回答

YamlDotNet不支持ISerializable,但Json.Net支持ISerializable。因此,作为一种解决方法,我们首先尝试将对象序列化为JObject,这尊重我们的序列化设置,并且只序列化适当的属性。然后,我们想将JObject发送到YamlSerializer,但出现以下错误:


“对象与目标类型不匹配”

以下帖子中的建议可用作解决方法:

i、 e。 使用动态Expando对象将JSON转换为YAML

例如:

var expConverter = new ExpandoObjectConverter();
var jsonString = JsonConvert.SerializeObject(anyObject);
var expandoObject = JsonConvert.DeserializeObject<ExpandoObject>(jsonString, expConverter);
var textInYamlFormat = serializer.Serialize(expandoObject);
var expConverter=new ExpandoObjectConverter();
var jsonString=JsonConvert.SerializeObject(anyObject);
var expandoObject=JsonConvert.DeserializeObject(jsonString,expConverter);
var textInYamlFormat=serializer.Serialize(expandoObject);

您可以先尝试递归地将
作业对象
转换为
字典
。得票最多的答案显示了一种方法。谢谢你的建议。转换成JObject已经够痛苦的了,但是再把它转换成别的东西,只是为了把它转换成YAML似乎。。。站不住脚。