【发布时间】:2016-07-31 08:31:43
【问题描述】:
假设我有字符串:
"Audio":[{"ID":"0","Codec": "AC-3","Info":"192 Kbps, 48.0 KHz (2 channels)","Language":"Spanish (##He aqui "el teléfono que nunca suena" pero debería##)","Default":"Yes"}]
我想转换成:
"Audio":[{"ID":"0","Codec": "AC-3","Info":"192 Kbps, 48.0 KHz (2 channels)","Language":"Spanish (He aqui \"el teléfono que nunca suena\" pero debería)","Default":"Yes"}]
如您所见,我想转义“##”符号之间存在的所有引号,另外删除这些符号,我怎样才能通过使用replace() 方法来实现这一点?我的意思是正则表达式模式怎么可能。谢谢
【问题讨论】:
-
您最初是如何得到无效 JSON 的?在那里修复它可能会更容易,而不是事后解决问题。
-
我同意这一点。永远不要“手动”创建 JSON。始终使用数据结构和 JSON 序列化函数,您将永远不会遇到此类问题。 JSON 序列化可用于每一种中途现代编程语言。没有理由不使用它。
-
来自 MediaInfo 的模板。没有办法应用某种格式,只是简单的文本,所以我发现的意外引号的唯一解决方案是用“##”分隔字段,所以任何人都可以有实际的回应吗?
标签: javascript json regex