[英]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)
如果該值將以更復雜的方式(例如,無限制的嵌套數組)存在缺陷,則將變得更加困難,並且可能值得將其修復在服務器上。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.