利用SignalR客户端与服务端的长连接,利用JSON 传输,服务端发送数据利用Newtonsoft.Json 封装信息,客户端解析数据时候出错,原因是把转义当成了斜杠用了。贴上代码
客户端接受JSON的代码:
private void connection_Received(string obj)
{
//第一次输出**①**
Console.WriteLine(obj);
obj = obj.Replace("\\", "");
var array = obj.ToCharArray();
char[] charArray = new char[array.Length - 2];
for (int i = 1; i < array.Length - 1; i++)
{
charArray[i - 1] = array[i];
}
//第二次输出**②**
Console.WriteLine(new String(charArray));
var table = JsonConvert.DeserializeObject<PackageTable>(new String(charArray));
}
上面的代码 ①输出
可以看出斜杠输出,结果JSON 无法解析。
第二次②用代码去掉‘\’,再把第一个“与最后一个” 去掉。这是我自己测试可用的JSON 字符串。