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

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

"{one: 'one', two: 'two'}"

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

回答:

如果您的示例语法与真实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"}"

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

以上是 将无效的JSON字符串转换为JSON 的全部内容, 来源链接: utcz.com/qa/408228.html

回到顶部