我有一个字符串,JSON.parse
格式不正确
它看起来像这样:
user_data = "{'key1':'val','key2':"bad_val with 'quoted' text"}"
我想以某种方式转换它并使用JSON.parse()
进行解析。如果不是这个bad_val
简单replace(/'/g, '"')
会有所帮助,但有了这个我就被卡住了。转换它的正确方法是什么?
答案 0 :(得分:0)
您可以使用JSON.stringify()将其转换为JSON。 例如:
var user_data = "{'key1':'val','key2':"bad_val with 'quoted' text"}";
var jsonObj = JSON.stringify(user_data);
它将返回有效的JSON格式。
答案 1 :(得分:0)
我认为user_data
是格式错误的JSON,无法使用JSON.parse
进行解析。如果无法纠正该字符串,那么作为简单的解决方法,您可以尝试eval
let convertedUserData;
eval('convertedUserData = ' + user_data);
但是,这意味着在user_data
字符串中执行脚本,因此请注意安全问题。再次,不推荐