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