如何在构建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字符串使用双引号。
慕无忌1623718
TA贡献1744条经验 获得超4个赞
每个人都在谈论如何'
在一个'
引用的字符串文字中逃避。这里有一个更大的问题:单引号字符串文字不是有效的JSON。JSON基于JavaScript,但它不是一回事。如果你在JavaScript代码中编写一个对象文字,那很好; 如果你真的需要JSON,你需要使用"
。
使用双引号字符串,您不需要逃避'
。(如果你确实想要"
字符串中的文字,你可以使用\"
。
- 3 回答
- 0 关注
- 1020 浏览
添加回答
举报
0/150
提交
取消