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

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

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

手掌心 2019-10-12 07:07:26
如何在构建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 回答

?
牧羊人nacy

TA贡献1862条经验 获得超7个赞

根据规范,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-10-13
?
慕无忌1623718

TA贡献1744条经验 获得超4个赞

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

使用双引号字符串,您不需要逃避'。(如果你确实想要"字符串中的文字,你可以使用\"


查看完整回答
反对 回复 2019-10-13
  • 3 回答
  • 0 关注
  • 1020 浏览

添加回答

举报

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