1

我只是想知道为什么我的 wcf 休息返回包含 url 中的反斜杠的 json。如下:

https:\/\/s3.amazonaws.com\/reiaustralia\/1fc00dfab25044ecb31e4882121b535e\/jpg\/download.jpg?AWSAccessKeyId=AKIAISTDESL6TBRAVM4Q&Expires=1380692091&Signature=MduuaUAjQRisadtM%2FDuVDemexLY%3D

谢谢

4

3 回答 3

6

正斜杠可以在 JSON 中使用反斜杠进行转义,但并非必须如此。因此,以下任一项:

{"url":"http://www.example.com/"}
or
{"url":"http\/\/www.example.com\/"}

将解析为具有url字符串值为 的属性的对象http://www.example.com/

有些技术在生成 JSON 时会避开斜线,而有些则不会。例如,PHP 有一个名为JSON_UNESCAPED_SLASHES的选项,可让您控制是否转义斜杠。

您可以从json.org主页的“字符串”部分查看各种转义字符。

于 2013-10-02T05:53:53.223 回答
1

因为 javascript 中的 //(双斜杠)表示注释,而 /{string}/(斜杠内的字符串)表示正则表达式。

所以。为了在 json 中保持正确的值,必须将 \(反斜杠)放在 /(斜杠)前面。

于 2013-10-02T05:42:24.713 回答
0

它们只是转义字符,当您在​​应用程序中使用字符串时就可以了

于 2013-10-02T05:39:27.903 回答