这是我的绳子
{ 'user': { 'name': 'abc', 'fx': { 'message': { 'color': 'red' }, 'user': { 'color': 'blue' } } }, 'timestamp': '2013-10-04T08: 10: 41+0100', 'message': 'I'mABC..', 'nanotime': '19993363098581330' }
此处,消息包含单引号,与JSON中使用的引号相同。我要做的是从用户输入(例如消息)中填充一个字符串。因此,我需要避免那些破坏代码的特殊情况。但是,除了字符串替换之外,还有什么方法可以使它们转义,但仍允许HTML将其处理回正确的消息?
根据规范,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字符串使用双引号。