javascript - 将 AJAX 字符串返回到数组

标签 javascript arrays ajax string

这是我的。我有一个返回字符串 (data.d) 的 AJAX 调用,如下所示:

{"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);

基本上得到一个错误“Uncaught SyntaxError: Unexpected token , in JSON”

我想要的最终结果:

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)

如果该值将以更复杂的方式存在缺陷,例如未定界的嵌套数组,它将变得更加困难,并且可能值得在服务器上修复它。

关于javascript - 将 AJAX 字符串返回到数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54011839/

相关文章:

javascript - 访问对象数组中的对象属性

javascript - jquery 自动完成文本框 onchange 不起作用

javascript - <script> 元素是 View 中的安全问题吗?还有其他方法可以将值从模型传递给 js 吗?

c# - 使用 SocketIO4Net 将函数回调从 .NET 应用程序传递到 node.js

php - 如何制作选定列表/菜单项的数组

c - 使用非常量值初始化字符串数组

javascript - 如何为 Android 浏览器指定 AJAX 调用的内容类型?

javascript - 使用 nomitatim 获取 json 数据,尽管使用 mapbox 也可以

javascript - 显示在输入框中的单选按钮值

javascript - AJAX:无效的 JSON 响应