Datatables 具有嵌套数组的数据表

Datatables 具有嵌套数组的数据表,datatables,Datatables,我提出了一个关于数据表的问题,但与此同时,我转到了Datatables,因为我感觉被阻塞了。然而,我的问题是相同的 两者都不能轻松处理嵌套的JSON结果。例如,如果我选择“field:author”,它将以下内容处理为“[Object Object],[Object Object]” 我可以单独选择结果,比如“field:author[,].family”,它返回一个类似“Obama,Obama”的列表。但是我想要一个像“给定+家庭1,给定+家庭2,…”这样的输出 您可以使用自定义渲染。Data

我提出了一个关于数据表的问题,但与此同时,我转到了Datatables,因为我感觉被阻塞了。然而,我的问题是相同的

两者都不能轻松处理嵌套的JSON结果。例如,如果我选择“field:author”,它将以下内容处理为“[Object Object],[Object Object]”


我可以单独选择结果,比如“field:author[,].family”,它返回一个类似“Obama,Obama”的列表。但是我想要一个像“给定+家庭1,给定+家庭2,…”这样的输出

您可以使用自定义渲染。DataTables允许您为每列定义自定义呈现

这是我制定的一个计划。我正在为作者栏进行自定义渲染

$(document).ready(function() {
var dataSet = [
    { "name": "How to DataTables", "author": [{ "firstname": "jack", lastname: "d" }, { "firstname": "dick", lastname: "j" }] },
    { "name": "How to Custom Render", "author": [{ "firstname": "bill", lastname: "g" }, { "firstname": "scott", lastname: "g" }] }
];

$('#example').DataTable({
    data: dataSet,
    columns: [
        { title:"Book Name",
          data: "name" },
        {
          title: "Authors",
            data: "author",
            render: function(data, type, row) {
                //return data.length;
                var txt = '';
                data.forEach(function(item) {
                    if (txt.length > 0) {
                      txt += ', '
                    }
                    txt += item.firstname + ' ' + item.lastname;
                });
                return txt;
            }
        }
    ]
});
});

数据表可以很容易地创建。如果您发布了数据表代码,也许有人可以帮助您。你的问题是什么?编辑器不是付费插件吗?对不起,我粘贴了错误的链接!我已经经历过了。您可以使用“value.[position].child”调用JSON子对象。您不能调用“value”的所有子实体。所以我最多只能得到“奥巴马,奥巴马”的结果。但我希望它是“巴拉克·奥巴马,米歇尔·奥巴马”。好吧,这是可行的,但我不知道如何将它与JSON文件一起使用。我需要将JSON输入转换成可以使用和交换的变量。有几种方法可以将数据直接加载到Datatables中,请参见Datatables论坛中解决的链接:
“data”:“author”,“render”:function(data,type,full){return$.map(data,function(d,I){return d.given+''+d.family;}).join(',
');}
$(document).ready(function() {
var dataSet = [
    { "name": "How to DataTables", "author": [{ "firstname": "jack", lastname: "d" }, { "firstname": "dick", lastname: "j" }] },
    { "name": "How to Custom Render", "author": [{ "firstname": "bill", lastname: "g" }, { "firstname": "scott", lastname: "g" }] }
];

$('#example').DataTable({
    data: dataSet,
    columns: [
        { title:"Book Name",
          data: "name" },
        {
          title: "Authors",
            data: "author",
            render: function(data, type, row) {
                //return data.length;
                var txt = '';
                data.forEach(function(item) {
                    if (txt.length > 0) {
                      txt += ', '
                    }
                    txt += item.firstname + ' ' + item.lastname;
                });
                return txt;
            }
        }
    ]
});
});