在我的 .js 中有一个字符串
var jdata ="[{\"name\":\"John\"}]"
我想将其转换为 [{"name":"John"}]。
我尝试了以下但失败了
jdata = jdata.replace("\"","\"")
jdata = jdata.replace("\\"","\"")
jdata = jdata.replace("\\\"","\"")
更换的正确方法是什么?
在我的 .js 中有一个字符串
var jdata ="[{\"name\":\"John\"}]"
我想将其转换为 [{"name":"John"}]。
我尝试了以下但失败了
jdata = jdata.replace("\"","\"")
jdata = jdata.replace("\\"","\"")
jdata = jdata.replace("\\\"","\"")
更换的正确方法是什么?
\
只是使用转义字符串内的双引号(因为您在外面使用双引号)。
实际上,您的字符串中没有\
字符。
如果要将字符串转换为对象,请使用:
var obj = JSON.parse(jdata);
如果您希望它成为一个对象,只需执行以下操作:
JSON.parse(jdata);
结果将被[{"name":"John"}]
客观化。
否则,您已经完成了工作。如果您尝试打印"[{\"name\":\"John\"}]"
,您将看到没有\
字符,因为它是转义字符。
当您打印字符串时,您将看到转义字符\
未显示。之所以需要它,是因为引号中的内容不能包含未转义的引号。
如果您只想将其转换为 string [{"name":"John"}]
,则可以使用正则表达式来做到这一点:
jdata = jdata.replace(/\\\"/,"\"");