[英]Handling escape characters in JSON response in C#
我有一個非常簡單的問題,由於某種原因,我可以找到使用SO和Google的幫助。 我收到的JSON回復如下所示:
"{
\"data\": [
{
\"type\": \"gif\",
\"id\": \"FiGiRei2ICzzG\",
\"url\": \"http: //giphy.com/gifs/funny-cat-FiGiRei2ICzzG\",
\"bitly_gif_url\": \"http: //gph.is/1fIdLOl\",
\"bitly_url\": \"http: //gph.is/1fIdLOl\",
\"embed_url\": \"http: //giphy.com/embed/FiGiRei2ICzzG\",
\"username\": \"\",
\"source\": \"http: //tumblr.com\", etc........
因此,這是一個標准的JSON,但其中添加了\\轉義字符。現在,我嘗試刪除這些轉義字符以解析JSON中的數據。 嘗試了字符串的.replace和其他解決方案,但是由於某些原因,我仍然使用轉義符。。謝謝! 這是我用來執行請求的代碼
public static void GetRequest()
{
string sFullURL = "http://api.giphy.com/v1/gifs/search?q=";
string sSearchTerm = "funny+cat";
string sContent;
string sAPIKey = "&api_key=dc6zaTOxFJmzC";
string sLimit = "&limit=1";
string sFullRequest = "http://api.giphy.com/v1/gifs/search?q=funny+cat&api_key=dc6zaTOxFJmzC";
HttpWebRequest WebReq = (HttpWebRequest)WebRequest.Create(string.Format(sFullURL + sSearchTerm + sAPIKey + sLimit));
WebReq.Method = "GET";
HttpWebResponse WebResp = (HttpWebResponse)WebReq.GetResponse();
System.Diagnostics.Debug.WriteLine(WebResp.StatusCode);
System.Diagnostics.Debug.WriteLine(WebResp.Server);
Stream Answer = WebResp.GetResponseStream();
StreamReader _Answer = new StreamReader(Answer);
sContent = _Answer.ReadToEnd();
sContent = Regex.Replace(sContent, @"\\", "");
}
看起來您對調試器中的值感到困惑。 調試器窗口顯示該字符串的轉義版本。
您可以單擊小放大圖標以在“文本可視化器”中打開字符串,以查看字符串的實際值。
您試圖使用常規轉義符(“ \\\\”)和逐字字符串(@“ string”)兩次轉義\\字符。 嘗試
sContent = Regex.Replace(sContent, @"\", "");
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.