将无效的JSON字符串转换为JSON

ede*_*ded 4 javascript json stringify jsonobject

我有一个无效的json字符串,如下所示,

"{one: 'one', two: 'two'}"
Run Code Online (Sandbox Code Playgroud)

我试图使用JSON.parse将其转换为对象.但是,这不是有效的json字符串.是否有任何函数可以将此无效格式转换为有效的json字符串或直接转换为对象?

小智 5

如果您的示例语法与您的真实JSON相同,则JSONLint表示您需要双重引用名称和值.

仅在这种情况下,请使用以下替换调用:

var jsontemp = yourjson.replace((/([\w]+)(:)/g), "\"$1\"$2");
var correctjson = jsontemp.replace((/'/g), "\"");
//yourjson = "{one: 'one', two: 'two'}"
//jsontemp = "{"one": 'one', "two": 'two'}"
//correctjson = "{"one": "one", "two": "two"}"
Run Code Online (Sandbox Code Playgroud)

但是,您应该首先尝试使用有效的Json.