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

如何在构建JSON字符串时转义特殊字符?

如何在构建JSON字符串时转义特殊字符?

如何在构建JSON字符串时转义特殊字符?这是我的绳子{     'user': {         'name': 'abc',         'fx': {             'message': {                 'color': 'red'             },             'user': {                 'color': 'blue'             }         }     },     'timestamp': '2013-10-04T08: 10: 41+0100',     'message': 'I'mABC..',     'nanotime': '19993363098581330' }这里,消息包含单引号,与JSON中使用的引号相同。我所做的就是从用户输入(如消息)中填充一个字符串。所以,我需要摆脱那些破坏代码的特殊场景。但是除了字符串替换之外,是否有任何方法使它们转义,但仍然允许HTML将它们处理回正确的消息?
查看完整描述

3 回答

?
湖上湖

TA贡献2003条经验 获得超2个赞

一个JSON字符串必须是双引号,根据规格所以你不需要逃跑'.
如果必须在JSON字符串中使用特殊字符,则可以使用\性格。

请参阅JSON中使用的特殊字符列表:

\b  Backspace (ascii code 08)\f  Form feed (ascii code 0C)\n  New line
\r  Carriage return\t  Tab\"  Double quote
\\  Backslash character


然而,即使这完全违反了规范,作者也可以使用\'.

这是坏的因为:

  • 这与规范是背道而驰的。
  • 它不再是JSON有效的字符串。

但它起作用了,不管你愿不愿意。

对于新读取器,请始终在json字符串中使用双引号。


查看完整回答
反对 回复 2019-06-28
?
FFIVE

TA贡献1797条经验 获得超6个赞

每个人都在谈论如何逃跑'在.'-引用字符串文字。这里有一个更大的问题:单引号字符串文字不是有效的JSON..JSON基于JavaScript,但这不是一回事。如果您要在JavaScript代码中编写一个对象文本,那么很好;如果您确实需要JSON,则需要使用".

如果使用双引号字符串,则不需要转义'..(如果你真的想要文字"在字符串中,你会用\".)


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

添加回答

举报

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