这就是我所拥有的。我有一个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"}]
甚至不确定是否可能
答案 0 :(得分:4)
没有数组定界符,该字符串不是有效的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)
如果该值将以更复杂的方式(如未定界的嵌套数组)存在缺陷,则将变得更加困难,并且可能值得在服务器上进行修复。
答案 1 :(得分:0)