如何在構(gòu)建JSON字符串時(shí)轉(zhuǎn)義特殊字符?這是我的字符串{
'user': {
'name': 'abc',
'fx': {
'message': {
'color': 'red'
},
'user': {
'color': 'blue'
}
}
},
'timestamp': '2013-10-04T08: 10: 41+0100',
'message': 'I'mABC..',
'nanotime': '19993363098581330'}這里的消息包含單引號,與JSON中使用的引用相同。我所做的是填寫用戶輸入的字符串,如消息。所以,我需要擺脫那些破壞代碼的特殊場景。但除了字符串替換之外,是否有任何方法可以使它們轉(zhuǎn)義但仍允許HTML將它們處理回正確的消息?
3 回答

溫溫醬
TA貢獻(xiàn)1752條經(jīng)驗(yàn) 獲得超4個(gè)贊
根據(jù)規(guī)范,JSON字符串必須是雙引號,因此您無需轉(zhuǎn)義'
。
如果必須在JSON字符串中使用特殊字符,則可以使用\
字符對其進(jìn)行轉(zhuǎn)義。
請參閱JSON中使用的此特殊字符列表:
\b Backspace (ascii code 08)\f Form feed (ascii code 0C)\n New line\r Carriage return\t Tab\" Double quote\\ Backslash character
但是,即使它完全違反規(guī)范,作者也可以使用\'
。
這很糟糕,因?yàn)椋?/p>
這與規(guī)格相反
它不再是JSON有效字符串
但是,無論你想要與否,它都有效。
對于新讀者,請始終對json字符串使用雙引號。

呼如林
TA貢獻(xiàn)1798條經(jīng)驗(yàn) 獲得超3個(gè)贊
每個(gè)人都在談?wù)撊绾?code>'在一個(gè)'
引用的字符串文字中逃避。這里有一個(gè)更大的問題:單引號字符串文字不是有效的JSON。JSON基于JavaScript,但它不是一回事。如果你在JavaScript代碼中編寫一個(gè)對象文字,那很好; 如果你真的需要JSON,你需要使用"
。
使用雙引號字符串,您不需要逃避'
。(如果你確實(shí)想要"
字符串中的文字,你可以使用\"
。)
添加回答
舉報(bào)
0/150
提交
取消