两个问题:
- 中文乱码;
- 出现转义斜杠
字符串如下:
”{\”state\":0,\"msglist\":[{\"IMTime\":\"2018-06-06 21:32:28\",\"LineName\":\"探针\",\"IMMsg\":\"收到测试任务\"},{\"IMTime\":\"2018-06-06 21:32:28\”,\”LineName\”:\”中心探针\”,\”IMMsg\":\"收到测试任务,即将开始测试!\"}]}"
- 1
- 2
- 3
中文乱码问题
- 中文乱码肯定是编码格式的问题,转换成uft-8试试
WebClient web = new WebClient();
web.Encoding = System.Text.Encoding.GetEncoding("GB2312");
string result =Encoding.UTF8.GetString(web.DownloadData(ConnConfig.WebAPI + "/ImmediateTest/" + TaskName));
- 1
- 2
- 3
- 4
- 5
- 6
转义斜杠问题
有两种可能
-
序列化的导致
排除此问题的关键在看序列化后的字符串是否带有转义字符
网络传输导致的编码问题
如果1排除掉了,那就是2有问题
经验证,正是因为网络传输导致了多余的转义字符串,转义字符串的删除方法如下(很显然效率很低,如有更高效的方法,请多指教):
StringBuilder sb = new StringBuilder();
string[] parts = (new char[] { ' ', '\n', '\t', '\r', '\f', '\v', '\\' }, );
int size = ;
for (int i = 0; i < size; i++)
("{0}", parts[i]);
result = ();
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9