使用DataContractSerializer发送反序列化的Json.net对象时出错

时间:2018-01-26 15:09:37

标签: c# json wcf serialization datacontractserializer

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

  

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

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

最好的问候

1 个答案:

答案 0 :(得分:0)

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

查看此link