我遇到了一个非常奇怪的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端? (我不想更改服务器中的任何内容。)
答案 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(")