小编典典

如何在构建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将其处理回正确的消息?


阅读 310

收藏
2020-07-27

共1个答案

小编典典

根据规范,JSON字符串必须用双引号引起来,因此您无需逸出'
如果必须在JSON字符串中使用特殊字符,则可以使用\character 对其进行转义。

请参阅此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字符串使用双引号。

2020-07-27