[英]Best way to escape javascript string? (json?)
使用C#.net我正在解析其中包含一些部分html / javascript的數據(我不知道是誰做出的決定),我需要拉一個鏈接。 鏈接看起來像這樣
http:\/\/fc0.site.net\/fs50\/i\/2009\/name.jpg
它來自這個,我認為它是javascript,看起來像json
"name":{"id":"589","src":"http:\/\/fc0.site.net\/fs50\/i\/2009\/name.jpg"}
但是無論如何,我應該如何逃避第一個鏈接,以便獲得http://fc0.site.net/fs50/i/2009/name.jpg
在這種情況下,我可以用“ \\”替換“ \\”,因為鏈接不包含“ \\”或“”,所以我可以做到這一點,但是我很樂於知道正確的解決方案並正確執行操作。因此,我如何才能逃脫這個問題。我以為那一分鍾的鏈接是有效的嗎?java腳本或json是否使用\\轉義/?似乎不應該嗎?
在您的情況下:
"name":{"id":"589","src":"http://fc0.site.net/fs50/i/2009/name.jpg"}
“ /”是有效的轉義序列。 但是,不需要/進行轉義。 如果需要,可以將其轉義。 JSON明確允許轉義斜線的原因是因為HTML不允許其中的字符串包含“ ...”
更新:
奇怪的是,它看起來不像您期望的任何JavaScript / JSON轉義。 您可以在JavaScript字符串中使用正斜杠就可以了。
為什么不在轉義斜杠上嘗試使用正則表達式以將其替換為C#代碼...
String url = @"http:\/\/fc0.site.net\/fs50\/i\/2009\/name.jpg";
String pattern = @"\\/";
String cleanUrl = Regex.Replace(url, pattern, "/");
希望能幫助到你!
實際上,您想取消轉義字符串。 在這個問題上回答 。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.