【发布时间】:2013-10-11 03:28:50
【问题描述】:
这是我的字符串
{
'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.org
-
RFC 4627 规定解析器必须能够解析符合标准的 JSON(第 4 段),并且可以支持其他非 JSON 扩展。但是,第 5 段强调所有生产者(生成者)必须只生成 100% 兼容的 JSON。使用不需要转义的帧字符生成 JSON 是一个特别糟糕的主意。请考虑用引号替换您的撇号。 ietf.org/rfc/rfc4627.txt
-
@Luv2code 虽然您提出的观点仍然正确,但请注意您引用的是过时的规范。阅读 RFC 时,请始终使用 tools.ietf.org/html 版本,而不是文本版本。 HTML 版本更易于阅读并链接到小节,最重要的是,HTML 版本的顶部是所有后续 RFC 的列表,这些 RFC 更新或废弃了您正在阅读的版本。如果您访问 tools.ietf.org/html/rfc4627,您会发现 RFC 4627 已过时并已被 RFC 7159 取代。
-
对于未来阅读本文的人,RFC 7159 已被 tools.ietf.org/html/rfc8259 废弃
标签: json