繁体   English   中英

将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) 

如您所见, 数据是我从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) 

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM