将 eval() 转换为 JSON.parse() 时出错

Error when converting eval() to JSON.parse()

我有一个带有 eval() 的代码片段,如下所示:

var data = "{listUpdated:[],listConflictOrMerge:[]}"; //returned from Ajax

var results = eval("(" + data + ")");

console.log(results)

如您所见,data 是我从 ajax 请求返回的输入值。使用eval()时,可以解析为2个数组对象

现在我不想再使用 eval(),所以我尝试使用 JSON.parse()。但是,出现错误。

var data = "{listUpdated:[],listConflictOrMerge:[]}"; //returned from Ajax

var results = JSON.parse(data);

console.log(results)

我的目的是不想再用eval()来解析数据了。

您尝试解析的数据无效 JSON,因此 JSON.parse 无法解析它。

JSON 对象中的键必须用引号引起来,就像任何其他字符串一样。您使用的表格在 Javascript 中有效,但在 JSON 中无效。

   

var data = '{"listUpdated":[],"listConflictOrMerge":[]}';

var results =JSON.parse(data);

console.log(results)