【发布时间】:2022-01-10 17:55:22
【问题描述】:
基本上,我正在处理一个字符串,它是 python 中的 json 字符串,但在 javascript 中使用时,它有“'”标签而不是双引号,我想将它变成一个真正的 json(通过使用 JSON. parse()) 但是句子中间有一些引号(因为我把“'”换成了双引号)。
示例:'{"author": "Jonah D"Almeida", ... }' (我想替换 D 和 Almeida 之间的那个)
由于整个句子周围已经有引号,javascript给出了一个错误,因为它不能从中创建一个json,所以,为了解决这个问题,基本上我想将句子中间的引号替换为' (单个标记),但前提是它在引号前后有字母。
我的想法:myString.replace('letter before ... " ... letter after', "'")
知道如何获得正确的表达方式吗?基本上我只是想知道正则表达式检查 " 引号前后是否有字母,如果是,请将其更改为单标记 (')。
【问题讨论】:
-
解析 valid JSON 数据将返回一个完全有效的对象,如果是 OP 的用例,也会返回一个正确转义的字符串值。
-
这种无效的 JSON 格式从何而来?
-
我在 python 中有一个有效的 json,但是当我在 javascript 中使用它时,它带有 '''我必须用“替换的部分。但由于其中一个替换在句子内,我想用'而不是“替换它
-
我根据 OP 的清理要求编辑了我的答案,这些要求是......替换和/或转义(?)任何 "[双引号] 字符 [which is] 前后都是信”
标签: javascript json regex