我从Web服务收到一个JSON对象。我可以使用Json.net成功反序列化此对象。但是,当我想使用数据协定序列化程序使用我的WCF服务发送此对象时,我得到了一个
System.Runtime.Serialization.InvalidDataContractException 类型'Newtonsoft.Json.Linq.JToken'是递归收集数据协定 这是不受支持的。考虑修改集合的定义 'Newtonsoft.Json.Linq.JToken'删除对自身的引用。
如果我创建了这个对象的克隆,那么我可以将其发送出去。但是为什么不用反序列化的Json.net对象?
最好的问候
答案 0 :(得分:0)
WCF没有使用JavascriptSerializer。它使用DataContractJsonSerializer。通过编写自定义消息格式化程序将其替换为Json.NET。
查看此link