如何在JavaScript中将双引号转换为单引号?

时间:2019-05-06 04:35:05

标签: javascript json

我遇到了一个非常奇怪的Javascript行为。

我从服务器以字符串形式获取数据对象,如下所示,

"{'id':1234, 'name'}"

当我尝试使用JSON.parse()解析此数据时,它会抛出

JSON.parse: expected property name or '}' at line 1 column 2 of the JSON data

将数据更改为'{"id":1234, "name"}'即可。

但是我的问题是我该如何转变:

"{'id':1234, 'name'}" to '{"id":1234, "name"}' 

在javascript端? (我不想更改服务器中的任何内容。)

1 个答案:

答案 0 :(得分:0)

仅需将character(')替换为全局代码,在此处输入代码:

var yourString = "{'id':1234, 'name'}";
yourString = yourString.replace(/\'/g, '"');
console.log(yourString);

反之亦然:

var yourString = '"{\'id\':1234, \'name\'}"';
    yourString = yourString.replace(/\'/g, '"');
    yourString = yourString.replace(/\"/g, "'");
    console.log(yourString);

还有另一个带有混合字符(“和”)的示例:

    var yourString = "{\"id':1234, 'name'}";
    yourString = yourString.replace(/\'/g, '"');
    console.log(yourString); // Automatically skips the right character(")