-1

在我的 .js 中有一个字符串

var jdata ="[{\"name\":\"John\"}]"

我想将其转换为 [{"name":"John"}]。

我尝试了以下但失败了

jdata = jdata.replace("\"","\"")
jdata = jdata.replace("\\"","\"") jdata = jdata.replace("\\\"","\"")

更换的正确方法是什么?

4

4 回答 4

5

\只是使用转义字符串内的双引号(因为您在外面使用双引号)。

实际上,您的字符串中没有\字符。

如果要将字符串转换为对象,请使用:

var obj = JSON.parse(jdata);
于 2013-02-01T09:51:22.863 回答
2

如果您希望它成为一个对象,只需执行以下操作:

JSON.parse(jdata);

结果将被[{"name":"John"}]客观化。

否则,您已经完成了工作。如果您尝试打印"[{\"name\":\"John\"}]",您将看到没有\字符,因为它是转义字符。

于 2013-02-01T09:53:09.407 回答
1

当您打印字符串时,您将看到转义字符\未显示。之所以需要它,是因为引号中的内容不能包含未转义的引号。

于 2013-02-01T09:50:57.947 回答
0

如果您只想将其转换为 string [{"name":"John"}],则可以使用正则表达式来做到这一点:

jdata = jdata.replace(/\\\"/,"\"");
于 2013-02-01T09:55:33.120 回答