Json 获取DataTables以在适当的列中输出对象数组

Json 获取DataTables以在适当的列中输出对象数组,json,datatables,Json,Datatables,我正在开发一个化学品数据库web应用程序。使用DataTables 1.10.16和CakePHP 3.5 蛋糕正在生产JSON饲料。样本如下: [ { "id": 1, "app_id": "ID000001", "name": "Chromium", "ecs": [ { "id": 1, "value": "123-456-7" }, {

我正在开发一个化学品数据库web应用程序。使用DataTables 1.10.16和CakePHP 3.5

蛋糕正在生产JSON饲料。样本如下:

[
{
    "id": 1,
    "app_id": "ID000001",
    "name": "Chromium",
    "ecs": [
        {
            "id": 1,
            "value": "123-456-7"
        },
        {
            "id": 32,
            "value": "222-333-444"
        },
    ],
    "cas": [
        {
            "id": 1,
            "value": "987-654-3"
        }
    ]
},

]
对于某些化学品,JSON中有多个EC,JSON中有CAS号CAS

我不知道是否/如何能够让DataTables循环遍历这些对象,并将它们输出到适当的列中,使用诸如标记之类的分隔符

我的表标记如下所示:

<table id="substancesTable" class="table responsive display table-striped" cellspacing="0" width="100%">
    <thead>
        <tr>
            <th>Application ID</th>
            <th>EC Number</th>
            <th>CAS Number</th>
            <th>Chemical Name</th>
        </tr>
     </thead>
 </table>
{
  "data": "ecs",
  "name": "ec_number",
  "title":"EC Number",
  "render": function(d,t,r){
    return d.map(function(e) {
        return e.value;
    }).join("<br/>");
  }
}
这在填充应用程序ID和化学名称列方面是有效的,但这是因为JSON no数组/对象中有一个简单的1:1映射

EC编号和CAS编号列的输出仅为[object object],并与存在的对象数重复。在上述示例中,该化学品有2个EC编号,因此EC编号下的输出为[object object],[object object]

有人能帮忙吗?我希望通过循环我的JSON并在每个项目之间引入一个中断来生成输出,例如

123-456-7<br>222-333-444
您将需要这样的渲染功能:

<table id="substancesTable" class="table responsive display table-striped" cellspacing="0" width="100%">
    <thead>
        <tr>
            <th>Application ID</th>
            <th>EC Number</th>
            <th>CAS Number</th>
            <th>Chemical Name</th>
        </tr>
     </thead>
 </table>
{
  "data": "ecs",
  "name": "ec_number",
  "title":"EC Number",
  "render": function(d,t,r){
    return d.map(function(e) {
        return e.value;
    }).join("<br/>");
  }
}
在中间工作