Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/78.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在Datatables javascript中插入嵌套json_Javascript_Html_Json_Datatables - Fatal编程技术网

如何在Datatables javascript中插入嵌套json

如何在Datatables javascript中插入嵌套json,javascript,html,json,datatables,Javascript,Html,Json,Datatables,作为对ajax中控制器的响应,我得到了一个字符串数组,我正在将其转换为javascript数组 问题是该数组包含嵌套的json数组 我需要在jquery数据表上绘制它。 对于普通Json,它可以工作,但是如果Json是嵌套的,它就不能工作 如何实现这一点 我想做的是 生成数据和标题的数组,并将该数组推送到数据表的列中 但这只适用于普通json 但不适用于嵌套json数组 这是我的嵌套Json示例:- //SAMPLE JSON { "id": "1951-4", "example": { "1"

作为对ajax中控制器的响应,我得到了一个字符串数组,我正在将其转换为javascript数组 问题是该数组包含嵌套的json数组 我需要在jquery数据表上绘制它。 对于普通Json,它可以工作,但是如果Json是嵌套的,它就不能工作

如何实现这一点

我想做的是

生成数据和标题的数组,并将该数组推送到数据表的列中

但这只适用于普通json 但不适用于嵌套json数组

这是我的嵌套Json示例:-

//SAMPLE JSON { "id": "1951-4", "example": { "1": [ 6721 ], "2": [ 6722 ] } }
需要表示上述示例json对象的DataTable

$.ajax({
    url: "/api/searchData/",
    type: "POST",
    dataType: "text",
    beforeSend: function () {
        $("#resultLoader").show();
    },
    success: function (result) {
        var resultArray = JSON.parse(result);
        var my_columns = [];
        var my_item = {};
        var nestedcolumns = [];
        $.each(resultArray[0], function (key, value) {
            var my_item = {};
            if (typeof value === "object") {
                $.each(value, function (key, value) {
                    var nestedItem = {};
                    nestedItem.data = key;
                    nestedItem.title = key;
                    nestedcolumns.push(nestedItem);
                    my_item.data = nestedcolumns;
                });
            } else {
                my_item.data = key;
            }
            my_item.title = key;
            my_columns.push(my_item);
        });
        $("#example").show();
        var table = $('#example').DataTable({
                data: resultArray,
                "columns": my_columns
            });
    },
    complete: function () {
        $("#resultLoader").hide();
    },
    error: function (error) {
        console.log("Error", error);
    }
});
错误:

DataTables警告:表id=示例-请求的未知参数 第0行第1列的“[object object],[object]”。更多 有关此错误的信息,请参阅


顺便说一句,您从AJAX响应填充DataTable的方法是完全错误的——它引发了与异步AJAX性质相关的各种问题,并使您无法从所有出色的DataTables API方法中获益。相反,您应该使用DataTables选项。代码中并不清楚您到底想要实现什么:这两行的内容应该是什么样子。顺便说一下,您从AJAX响应填充DataTable的方法完全是错误的——它引发了与异步AJAX性质相关的各种问题,并使您无法从所有出色的DataTables API方法中获益。相反,您应该使用DataTables选项—代码中并没有那么清楚您想要实现什么:这两行的内容应该是什么样子。