为了账号安全,请及时绑定邮箱和手机立即绑定

如何在JSON中转义字符串?

如何在JSON中转义字符串?

隔江千里 2019-07-27 15:15:54
如何在JSON中转义字符串?当手动创建JSON数据时,应该如何转义字符串字段?我应该用像ApacheCommonlang那样的东西吗?StringEscapeUtilities.escapeHtml, StringEscapeUtilities.escapeXml,还是我应该用java.net.URLEncoder?问题是当我用SEU.escapeHtml,它不会转义引号,并且当我将整个字符串包装成一对'将生成格式错误的JSON。
查看完整描述

3 回答

?
慕容森

TA贡献1853条经验 获得超18个赞

理想情况下,用您的语言找到一个JSON库您可以向其提供适当的数据结构,让它担心如何逃避..它会让你更清醒。如果出于任何原因,您在语言中没有一个库,那么您不想使用一个库(我不建议这样做),或者您正在编写一个JSON库,继续读下去。

根据RFC逃跑。Json很自由:你唯一的角色逃逸\",以及控制代码(任何小于U+0020的代码)。

这种转义结构是JSON特有的。您将需要一个特定于JSON的函数。所有的转义都可以写成\uXXXX哪里XXXX是该字符的UTF-16代码单元。有几条捷径,例如\\,同样有效。(它们带来了更小、更清晰的产出。)

有关详细信息,请参阅RFC.

JSON的转义是建立在JS上的,因此它使用\uXXXX,在哪里XXXX是一个UTF-16代码单元。对于BMP之外的代码点,这意味着编码代理项对,这可能会有点毛茸茸的。(或者,您可以直接输出字符,因为JSON为IS Unicode文本编码,并允许这些特定字符。)




查看完整回答
反对 回复 2019-07-28
  • 3 回答
  • 0 关注
  • 1169 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信