如何将文本转换和解析为JSON

时间:2018-04-25 07:44:04

标签: javascript json parsing

我有一个字符串,JSON.parse格式不正确 它看起来像这样:
user_data = "{'key1':'val','key2':"bad_val with 'quoted' text"}"

我想以某种方式转换它并使用JSON.parse()进行解析。如果不是这个bad_val简单replace(/'/g, '"')会有所帮助,但有了这个我就被卡住了。转换它的正确方法是什么?

2 个答案:

答案 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字符串中执行脚本,因此请注意安全问题。再次,不推荐