[英]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.