arrays - 如何使用 JSON.parse() 解析多个 JSON 数组?
问题描述
我从 db 获取记录并为每一行创建一个数组并使用json_encode()
. 现在,我的数据返回如下:[{"slug":"bitcoin","change7d":"-3.87"}][{"slug":"maker","change7d":"-8.58"}]
。
当我试图解析 ajax 调用的数据时,console.log()
返回错误SyntaxError: Unexpected token [ in JSON at position 39
。这是我的代码:
在我的 php 文件中:
foreach($result as $row){
$data[] = $row;
}
print json_encode($data);
在我的 js 文件中:
var newData = JSON.parse(result);
如果我稍微改变我的查询并获得一条记录,那么我解析数据就没有问题了。
解决方案
JSON.parse 解析单个有效的 JS 对象({ } 结构或数组)。因此,在您的情况下,解决方案要么从数据库中逐个数组地获取数组并逐个解析它们,要么尝试将它们转换为从数据库中获得的文本级别的一大数组数组。为此,您需要用方括号将数组括起来并在它们之间放置逗号。
在你的情况下,它看起来像:
[
[{"slug":"bitcoin","change7d":"-3.87"}],
[{"slug":"maker","change7d":"-8.58"}]
]
推荐阅读
- javascript - jest.config.js 失败 - 意外令牌“。” 在 module.exports 中
- python - 字典可能包含字符串或数组
- shell - 如何通过 API 调用找到最新的稳定 Jenkins 版本?
- ajax - Axios asynchrone ajax 请求 Vuejs 不等待服务器响应
- java - 在 Spring Boot 中 FindByIndexNameSessionRepository 不能为空
- python - 我试图使用 pandas 将两个具有相同请求 ID 的数据帧组合起来,但无法
- r - 在 r 中使用 cat 时如何在换行符后删除不需要的空格
- javascript - 检查Javascript(或框架)中是否存在字段的正确方法?
- ios - 预览因核心数据查找而失败,但在 Swift 5 / Core Data / FetchRequest 中使用随机值
- mysql - 将字符串与 MySQL 中的 INT 列进行比较是否有问题