在C#中对PLINQO对象进行反序列化的问题

时间:2009-10-29 22:14:02

标签: c# linq plinq

我已经尝试了很多方法来反序列化LINQO对象,但每个方法都失败了。这是最后一个代码的示例。

        System.Text.ASCIIEncoding encoding = new System.Text.ASCIIEncoding();

        DataContractJsonSerializer ser = new DataContractJsonSerializer(typeof(SalesNetData.Country));
        string xmlData = Session["CCC"].ToString();
        byte[] byteArray = new byte[xmlData.Length];
        byteArray = encoding.GetBytes(xmlData);

        MemoryStream stream1 = new MemoryStream(byteArray);

        SalesNetData.Country country = (SalesNetData.Country)ser.ReadObject(stream1);
        Console.WriteLine("Deserialized Country data:");

但我现在收到以下错误。

  

“SalesNetData.Country”类型无法序列化为JSON,因为其IsReference设置为“True”。 JSON格式不支持引用,因为没有用于表示引用的标准化格式。要启用序列化,请在类型或类型的相应父类上禁用IsReference设置。

请帮助.....

2 个答案:

答案 0 :(得分:1)

请参阅以下主题(community.codesmithtools.com/forums/p/10080/37441.aspx#37441)以获取此问题的解决方案。您还应该了解一下使用Newton Json.NET(codeplex.com/Json)。

由于 -Blake Niemyjski

答案 1 :(得分:-1)

解决方案在错误消息中......

  

要启用序列化,请在类型或类型

的相应父类上禁用IsReference设置