Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/273.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/json/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 客户端中的双json序列化_C#_Json - Fatal编程技术网

C# 客户端中的双json序列化

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

我正在以web角色序列化云服务器中的对象:

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
。如何从服务器返回字符串?您的代码只显示您序列化了对象,这对我们理解您的问题没有多大帮助。