簡體   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