运行正确的SerializeObject方法?

时间:2011-05-20 18:41:56

标签: c# asp.net json

我在项目中添加了json dll并尝试序列化对象:

 ProductType itemToEdit = new ProductType("Name");
 string jsonString = JsonConvert.SerializeObject(itemToEdit);

出现错误:

  

类型的例外   'system.missingMethodException而'   发生在Newtonsoft.Json.DLL但是   未在用户代码中处理

     

其他信息:方法不是   发现:'布尔   System.Runtime.Serialization.DataContractAttribute.get_IsReference()”

但项目构建正确。

2 个答案:

答案 0 :(得分:9)

我遇到了同样的问题。安装.NET Framework 3.5 SP1解决了这个问题。仅在.NET framework 4,3.5 SP1和3.0 SP2中支持DataContractAttribute.IsReference属性

http://msdn.microsoft.com/en-us/library/system.runtime.serialization.datacontractattribute.isreference.aspx

答案 1 :(得分:1)

不确定这是否有帮助,但在使用Windows Phone 7应用程序时,我遇到了与Newtonsoft.Json类似的问题。

执行JsonConvert.SerializeObject时,我在Newtonsoft.Json.DLL中发生'System.MissingMethodException'。

我已经安装了NuGet,它添加的引用是Newtonsoft.Json.Silverlight。

我将其更改为Newtonsoft.Json.WindowsPhone,它解决了问题。