做的介面回傳json,但是其中含有特殊字符,如下面的。
[{"FNumber":"1.232.12","FName":"abcdf'wwewe/wewe\we"},{"FNumber":"232323","FName":"撒大聲地"},{"FNumber":"343434","FName":"www"},{"FNumber":"1212","FName":"撒大聲地
慰問費qww
wew"},{"FNumber":"45354545","FName":"wewewe"wewewe"}]
網上找的方法轉義
public static string ReplaceString(string JsonString)
{
if (JsonString == null) { return JsonString; }
if (JsonString.Contains("\\"))
{
JsonString = JsonString.Replace("\\", "\\\\");
}
if (JsonString.Contains("\'"))
{
JsonString = JsonString.Replace("\'", "\\\'");
}
if (JsonString.Contains("\""))
{
JsonString = JsonString.Replace("\"", "\\\"");
}
//去掉字串的回車換行符
JsonString = Regex.Replace(JsonString, @"[\n\r]", "");
JsonString = JsonString.Trim();
return JsonString;
}
但是回傳這樣的結果,這個結果直接放Json決議器也不通。轉義是這樣用的嗎
[{\"FNumber\":\"1.232.12\",\"FName\":\"abcdf\'wwewe/wewe\\we\"},{\"FNumber\":\"232323\",\"FName\":\"撒大聲地\"},{\"FNumber\":\"343434\",\"FName\":\"www\"},{\"FNumber\":\"1212\",\"FName\":\"撒大聲地慰問費qwwwew\"},{\"FNumber\":\"45354545\",\"FName\":\"wewewe\"wewewe\"}]
uj5u.com熱心網友回復:
你要處理的源頭,不是拿到這個json以后在替換,不然問題太多,正常情況寫的web api 介面,回傳這個物件集合,是自動會序列化的的,也沒啥難度,你這是拼接字串的嗎?修改代碼吧,我按正常回傳的是
[{"FNumber":"1.232.12","FName":"abcdf'wwewe/wewe\\we"},{"FNumber":"232323","FName":"撒大聲地"},{"FNumber":"343434","FName":"www"},{"FNumber":"1212","FName":"撒大聲地\r\n慰問費qww\r\nwew"},{"FNumber":"45354545","FName":"wewewe\"wewewe"}]
uj5u.com熱心網友回復:
[
{"FNumber":"1.232.12","FName":"abcdf'wwewe/wewe\\we"},
{"FNumber":"232323","FName":"撒大聲地"},
{"FNumber":"343434","FName":"www"},
{"FNumber":"1212","FName":"撒大聲地\r\n慰問費qww\r\nwew"},
{"FNumber":"45354545","FName":"wewewe\"wewewe"}]
如果是拿到以后替換,這個介面自娛自樂也就算了,要是別人訪問,是會罵人的
uj5u.com熱心網友回復:
怎么在源頭處理?我這個是從資料庫查詢出來的,然后用datatable轉換的
uj5u.com熱心網友回復:
1.232.12 abcdf'wwewe/wewe\we
232323 撒大聲地
343434 www
1212 撒大聲地 慰問費qww wew
45354545 wewewe"wewewe
明白了,就是轉json之前把字符替代好。而不是轉為之后替代。
單引號不算特殊字符嗎?
uj5u.com熱心網友回復:
不知道你的是什么專案,正常webapi專案,你直接回傳datatable,自動會序列化,都不需要你處理的呀uj5u.com熱心網友回復:
有點特殊。客戶要求web service中回傳Json格式。這個一般是怎么做
uj5u.com熱心網友回復:
更迷糊了,web service回傳的是xml格式吧,怎么會要求回傳json的?uj5u.com熱心網友回復:
正常情況是不需要轉義的,我們專案web service就主要回傳json, 這是趨勢轉載請註明出處,本文鏈接:https://www.uj5u.com/net/273476.html
標籤:C#
