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