当前位置: 首页 > 面试题库 >

为什么斜杠是JSON中可转义的字符?

嵇弘新
2023-03-14
问题内容

json.org指出,可以将正斜杠(也称为solidus,/)转义:

"\/"

但是,未转义的斜杠也有效:

"/"

这背后的原因是什么?它来自Javascript根吗?(即,这"</script>"是基于浏览器的Javascript中的问题,请参见Douglas
Crockford的评论
)还是其他原因?


问题答案:

看来,我的第一个想法是正确的。

'\/' === '/'在JavaScript中,JSON 几乎 有效的JavaScript。但是,为什么\z在JSON中不允许其他忽略的转义符(如)?

这样做的关键是阅读http://www.cs.tut.fi/~jkorpela/www/revsol.html,然后阅读http://www.w3.org/TR/html4/appendix/notes.html#hB
.3.2
。斜线转义的功能允许将JSON嵌入HTML(作为SGML)和XML中。



 类似资料:
  • 问题内容: 这样做的原因是“逃脱了”我。 JSON转义为正斜杠,因此哈希序列化为而不是。 为什么? 问题答案: JSON不需要您执行此操作,而是允许您执行此操作。它还允许您将“ \ u0061”用于“ A”,但这不是必需的。在将JSON嵌入标记中时允许帮助,该标记不允许内部字符串出现,如Seb指出的那样。 Microsoft的一些ASP.NET Ajax / JSON API使用此漏洞来添加额外的

  • 问题内容: 我不明白为什么会这样。 JSON转义为正斜杠,因此hash序列化为而不是。 为什么? 问题答案: JSON不需要您执行此操作,而是允许您执行此操作。它还允许您将“\u0061”用于“A”,但这不是必需的。在将JSON嵌入标记中时允许帮助,该标记不允许内部字符串出现,如Seb指出的那样。 Microsoft的一些ASP.NET Ajax/JSONAPI使用此漏洞来添加额外的信息,例如da

  • 问题内容: 我从Instagram提取JSON: 然后将变量解析为PHP数组以重组数据,然后重新编码和缓存文件: 当我打开缓存文件时,我所有的正斜杠“ /”都被转义了: 我从搜索中收集到自动执行此操作…是否可以禁用它? 问题答案: 有没有办法禁用它? 是的,您只需要使用该标志。 重要的 阅读之前:https : //stackoverflow.com/a/10210367/367456(知道你在做

  • 问题内容: 谁能告诉我在Java中如何使用正斜杠转义字符。我知道反斜杠是\ \,但是我尝试了\ /和/ /却没有运气! 这是我的代码: 提前致谢! 问题答案: 您既不需要以Java语言或正则表达式来转义正斜杠。 还要注意这样的块: 更紧凑和可读地写为: 因此,对于您而言,我相信您的方法应类似于: 请注意,这不是测试有效日期的一种非常好的方法-可能也应该尝试将其解析 为 日期,或者将其解析 为 日期

  • 我想使用方法发送POST请求,但是我的JSON有一些国际字符,比如surunn。 不幸的是,我的WebAPI在从格式解码这个字符串时遇到了一些问题:。 使用时,我的API可以很好地处理非转义字符串和unicode转义字符串:。 我尝试了此操作,但在将转换为unicode后,转义了: 我有两个反斜杠字符串: 我试图用一个反斜杠替换两个反斜杠,但没有成功: 我该如何替换它们?

  • 问题内容: 我刚刚看到在对PHP对象的引用中使用了反斜杠,并且对此感到很好奇(我以前从未见过)。这是什么意思? 如果您感到好奇,请参见SendGrid的文档。 问题答案: 这是因为他们使用的是PHP名称空间。命名空间是PHP 5.3中的新增功能。