You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在DataTables中获取JSON返回的嵌套数组结构数据?

DataTables 适配新JSON结构的配置方法

错误原因

你之前的写法触发无数据提示的核心问题是:DataTables 默认会将接口返回值顶层的 data 字段作为表格的行数据源,要求该字段必须是可遍历的数组。调整后的JSON结构里,顶层data变成了包含deals、stops两个子数组的对象,没有可直接遍历的行集合,因此不是列映射配置的问题,是数据源根路径配置错误。

解决方法

仅渲染单组数据(推荐)

如果你只需要加载deals数组的内容到表格,只需要在ajax配置中新增dataSrc属性,指定行数据的读取路径即可,列配置可以沿用原来的索引写法:

...
"ajax": {
    "url": "first.json",
    "dataSrc": "data.deals"
},
columns: [ 
    { data: 0 }, // 对应deals中每一行的第一个字段
    { data: 1 }, // 对应deals中每一行的第二个字段
    // 剩余列按数组索引依次配置即可
]
...

如果需要切换展示stops数组的内容,只需要把dataSrc的值修改为data.stops即可。

需要同时处理两组数据

如果需要对deals和stops的数据做合并、过滤等处理后再渲染,可以用dataFilter回调自定义处理返回数据:

...
"ajax": {
    "url": "first.json",
    "dataFilter": function(res) {
        const jsonData = JSON.parse(res);
        // 示例:合并deals和stops数组后返回,可根据业务需求调整处理逻辑
        return [...jsonData.data.deals, ...jsonData.data.stops];
    }
},
columns: [ 
    // 按处理后的行数据结构配置对应列映射即可
]
...

内容的提问来源于stack exchange,提问作者Barney Gumble

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.24 10:57:01