逃避javascript字符串的最佳方法? (JSON?)

时间:2009-12-20 14:11:55

标签: c# .net javascript 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转义/使用\?看起来不应该这样吗?

4 个答案:

答案 0 :(得分:1)

在你的情况下:

"name":{"id":"589","src":"http://fc0.site.net/fs50/i/2009/name.jpg"}

“/”是有效的转义序列。但是,不需要/被转义。如果需要,你可以逃避它。 JSON明确允许转义斜杠的原因是因为HTML不允许a中的字符串包含“...

<强>更新

答案 1 :(得分:0)

奇怪的是,它看起来不像你期望的任何JavaScript / JSON逃脱。你可以在JavaScript字符串中使用正斜杠。

答案 2 :(得分:0)

为什么不尝试使用转义斜杠的正则表达式来替换它们在C#代码中...

String url = @"http:\/\/fc0.site.net\/fs50\/i\/2009\/name.jpg";

String pattern = @"\\/";

String cleanUrl = Regex.Replace(url, pattern, "/");

希望它有所帮助!

答案 3 :(得分:0)

实际上你想 unescape 字符串。在this question回答。