【问题标题】:C# Serialization Error of JObject to YamlDotNetJObject 到 YamlDotNet 的 C# 序列化错误
【发布时间】:2017-10-01 17:26:30
【问题描述】:

我打开了一张票here,但希望有人可以简单地回答。

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

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

【问题讨论】:

标签: c# json serialization yaml yamldotnet


【解决方案1】:

以下帖子的建议可用作解决方法: How to convert JSON to YAML using YamlDotNet

即 使用动态 Expando 对象将 JSON 转换为 YAML。

例子:

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多