C# 客户端中的双json序列化
我正在以web角色序列化云服务器中的对象:C# 客户端中的双json序列化,c#,json,C#,Json,我正在以web角色序列化云服务器中的对象: using Newtonsoft.Json; string returnJsonMessage = JsonConvert.SerializeObject(returnMessage); 在客户端: BaseResponseDeviceMessage retVal = null; var req = HttpWebRequest.Create(@reqString); req.Method = requestM
using Newtonsoft.Json;
string returnJsonMessage = JsonConvert.SerializeObject(returnMessage);
在客户端:
BaseResponseDeviceMessage retVal = null;
var req = HttpWebRequest.Create(@reqString);
req.Method = requestMethod;
req.ContentLength = 0;
req.ContentType = @"application/json";
string jsonResp = "";
try
{
HttpWebResponse resp = (HttpWebResponse)req.GetResponse();
using (StreamReader sr = new StreamReader(resp.GetResponseStream()))
{
jsonResp = sr.ReadToEnd();
}
string t = JsonConvert.DeserializeObject<string>(jsonResp);
retVal = JsonConvert.DeserializeObject<T>(t);
}
BaseResponseDeviceMessage retVal=null;
var req=HttpWebRequest.Create(@reqString);
请求方法=请求方法;
req.ContentLength=0;
req.ContentType=@“应用程序/json”;
字符串jsonResp=“”;
尝试
{
HttpWebResponse resp=(HttpWebResponse)req.GetResponse();
使用(StreamReader sr=new StreamReader(resp.GetResponseStream())
{
jsonResp=sr.ReadToEnd();
}
字符串t=JsonConvert.DeserializeObject(jsonResp);
retVal=JsonConvert.DeserializeObject(t);
}
您可以看到,为了恢复我的消息,我需要反序列化两次。
为什么?如何解决这个问题?
谢谢大家,祝您愉快。您似乎在服务器中返回了一个字符串,而不是返回真实对象。很可能,服务器端不需要
JsonConvert.SerializeObject
。如何从服务器返回字符串?您的代码只显示您序列化了对象,这对我们理解您的问题没有多大帮助。