将 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,因此 JSON.parse
无法解析它。
JSON 对象中的键必须用引号引起来,就像任何其他字符串一样。您使用的表格在 Javascript 中有效,但在 JSON 中无效。
var data = '{"listUpdated":[],"listConflictOrMerge":[]}';
var results =JSON.parse(data);
console.log(results)
我有一个带有 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,因此 JSON.parse
无法解析它。
JSON 对象中的键必须用引号引起来,就像任何其他字符串一样。您使用的表格在 Javascript 中有效,但在 JSON 中无效。
var data = '{"listUpdated":[],"listConflictOrMerge":[]}';
var results =JSON.parse(data);
console.log(results)