尝试反序列化JSON对象时出现异常

时间:2013-07-22 09:56:50

标签: .net json

我正在尝试对json对象进行deserialiaze,但在行ser.WriteObject(ms, inpJsonObj);上抛出异常

编辑: 建议我创建一个新的内存流并在新流中复制修改后的对象。但是“Out”字符串仍然是空白的!

DataContractJsonSerializer ser = new DataContractJsonSerializer(typeof(TestJSON));
            MemoryStream ms = new MemoryStream(Encoding.Unicode.GetBytes(inpStr));
            ms.Position = 0;
            TestJSON obj = (TestJSON)ser.ReadObject(ms);
            obj.Var11 = 99;
            obj.Var21 = 199;


            MemoryStream ms1 = new MemoryStream();
            ser.WriteObject(ms1, obj);

            ms1.Position = 0;
            StreamReader sr = new StreamReader(ms1);
            Out = sr.ReadToEnd();
            ms1.Close();
            ms.Close();

1 个答案:

答案 0 :(得分:0)

在不知道异常细节的情况下我只能猜测,但看起来问题是您正在创建non-resizable memory stream的实例并尝试将更新的对象写入其中 - 可能是序列化的结果更大比原始字符串,因此流不能接受它。