簡體   English   中英

將AJAX字符串返回到數組

[英]Returned AJAX string to an array

這就是我所擁有的。 我有一個AJAX調用,它返回一個字符串(data.d),如下所示:

{"id": "03100500", "name": "Book I"},{"id": "03100507", "name": "Book I - ALT"},{"id": "03100505", "name": "Book I - M"},{"id": "03100600", "name": "Book II"}

我試過了:

var books = JSON.parse(data.d);

基本上收到錯誤“ JSON中出現未捕獲的SyntaxError:意外令牌”

最終結果我想要:

var newArray = [{"id": "03100500", "name": "Book I"},{"id": "03100507", "name": "Book I - ALT"},{"id": "03100505", "name": "Book I - M"},{"id": "03100600", "name": "Book II"}]

甚至不確定是否有可能

如果沒有數組定界符,則該字符串不是有效的JSON。 給定沒有數組定界符的字符串,您可以在解析之前添加它們:

 let s = `{"id": "03100500", "name": "Book I"},{"id": "03100507", "name": "Book I - ALT"},{"id": "03100505", "name": "Book I - M"},{"id": "03100600", "name": "Book II"}` // make new string with `[]` delimiters: let o = JSON.parse('[' + s + ']') console.log(o) 

如果該值將以更復雜的方式(例如,無限制的嵌套數組)存在缺陷,則將變得更加困難,並且可能值得將其修復在服務器上。

我認為丟失的[是復制和粘貼錯誤。 假設您可能在對象上調用JSON.parse。 見下圖:

在此處輸入圖片說明

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM