在Javascript中将字符串转换为JSON对象

在Javascript中将字符串转换为JSON对象,javascript,json,Javascript,Json,我有一个以下格式的字符串: var abc = "{'ABC':'25117', 'data':'India\"NewDelhi\"'}" 我想将其转换为JSON对象 我试图通过交换它们来使用”和” 我使用了函数JSON.parse(abc),如果字符串 var abc = '{"ABC":"25117", "data":"India\'NewDelhi\'"}' 但我希望“newdrish”应该用双引号引起来,即“,这是我的严格条件。坚持使用有效的JSON,只需双引号转义即可 var ab

我有一个以下格式的字符串:

var abc = "{'ABC':'25117', 'data':'India\"NewDelhi\"'}"
我想将其转换为JSON对象

我试图通过交换它们来使用

我使用了函数
JSON.parse(abc)
,如果字符串

var abc = '{"ABC":"25117", "data":"India\'NewDelhi\'"}'

但我希望
“newdrish”
应该用双引号引起来,即
,这是我的严格条件。

坚持使用有效的JSON,只需双引号转义即可

var abc = '{"ABC":"25117", "data":"India\\"NewDelhi\\""}';
您必须转义“\”才能解析字符串

var abc = "{\"ABC\":\"25117\", \"data\":\"India\\\"NewDelhi\\\"\"}"

然后
JSON.parse(abc)
将起作用

您的严格条件意味着您拥有的字符串不是有效的JSON,并且无法转换。幸运的是,要么放弃那个愚蠢的条件,要么为您创建自己的解析器,格式无效。那个JSON是无效的。在将来使用。@chandler-不客气,别忘了接受一个Anwer