【问题标题】:Error sending deserialized Json.net object with DataContractSerializer使用 DataContractSerializer 发送反序列化的 Json.net 对象时出错
【发布时间】:2018-07-05 22:54:22
【问题描述】:

我从 Web 服务收到一个 JSON 对象。我可以使用 Json.net 成功反序列化这个对象。但是当我想用我的 WCF 服务使用数据契约序列化器发送这个对象时,我得到一个

System.Runtime.Serialization.InvalidDataContractException 类型“Newtonsoft.Json.Linq.JToken”是一个递归集合数据合约 不支持。考虑修改集合的定义 'Newtonsoft.Json.Linq.JToken' 删除对自身的引用。

如果我创建了这个对象的克隆,那么我可以将它发送出去。但是为什么不使用反序列化的 Json.net 对象呢?

最好的问候

【问题讨论】:

    标签: c# json wcf serialization datacontractserializer


    【解决方案1】:

    WCF 不使用 JavascriptSerializer。它使用 DataContractJsonSerializer。通过编写自定义消息格式化程序将其替换为 Json.NET。

    看看这个link

    【讨论】:

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