NewtonJsonシーケンス化におけるエスケープスラッシュと余分な引用符の処理
3575 ワード
2つの質問:中国語文字化けし; エスケープスラッシュ が現れる
文字列は次のとおりです.
中国語の文字化けしはきっと符号化フォーマットの問題で、uft-8に変換して を試してみます
二つの可能性があるシーケンス化によるこの問題の排除の鍵は、シーケンス化後の文字列にエスケープ文字があるかどうかを見ることにある .ネットワーク転送による符号化の問題1が排除された場合、それは2問題の経験証であり、ネットワーク転送によって余分なエスケープ文字列が発生したからこそ、エスケープ文字列の削除方法は以下の通りである(明らかに効率が低く、より効率的な方法があれば、多く教えてください):
文字列は次のとおりです.
”{\”state\":0,\"msglist\":[{\"IMTime\":\"2018-06-06 21:32:28\",\"LineName\":\" \",\"IMMsg\":\" \"},{\"IMTime\":\"2018-06-06 21:32:28\”,\”LineName\”:\” \”,\”IMMsg\":\" , !\"}]}"
中国語の文字化けし
WebClient web = new WebClient();
web.Encoding = System.Text.Encoding.GetEncoding("GB2312");
string result =Encoding.UTF8.GetString(web.DownloadData(ConnConfig.WebAPI + "/ImmediateTest/" + TaskName));
エスケープスラッシュ問題
二つの可能性がある
StringBuilder sb = new StringBuilder();
string[] parts = result.Split(new char[] { ' ', '
', '\t', '\r', '\f', '\v', '\\' }, StringSplitOptions.RemoveEmptyEntries);
int size = parts.Length;
for (int i = 0; i < size; i++)
sb.AppendFormat("{0}", parts[i]);
result = sb.ToString();