Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/apache-flex/4.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
如何在jQuery.dataTables?;_Datatables - Fatal编程技术网

如何在jQuery.dataTables?;

如何在jQuery.dataTables?;,datatables,Datatables,现在假设我有一个json数据格式,如下所示: { “ServiceName”:“cacheWebApi”, “说明”:“这是一个CacheWebAPI服务”, “IsActive”:是的, “URL”:[{“ServiceAddress”:“,”权重“:5,“IsAvailable”:true}, {“ServiceAddress”:“,”和“Weight”:3,“IsAvailable”:true}] } 现在让我担心的是,“URL”是另一种嵌套的json格式。那么如何将这个值绑定到数据表呢?

现在假设我有一个json数据格式,如下所示:

{ “ServiceName”:“cacheWebApi”, “说明”:“这是一个CacheWebAPI服务”, “IsActive”:是的, “URL”:[{“ServiceAddress”:“,”权重“:5,“IsAvailable”:true}, {“ServiceAddress”:“,”和“Weight”:3,“IsAvailable”:true}] }


现在让我担心的是,“URL”是另一种嵌套的json格式。那么如何将这个值绑定到数据表呢?你有什么好主意吗(例如:我只想显示所有的服务地址).

这应该满足你的需要:

var data = [{
    "ServiceName": "cacheWebApi",
    "Description": "This is a CacheWebApiService",
    "IsActive": true,
    "Urls": [
        {
            "ServiceAddress": "http://192.168.111.210:8200",
            "Weight": 5,
            "IsAvailable": true
        },
        {
            "ServiceAddress": ",http://192.168.111.210:8200",
            "Weight": 3,
            "IsAvailable": true
        }
    ]
}];
$(function() {
    var table = $('#example').dataTable({
        "data": data,
        "columns": [
            {
                "data": "ServiceName"
            }, {
                "data": "Description"
            }, {
                "data": "IsActive"
            }, {
                "data": "Urls[0].ServiceAddress"
            }, {
                "data": "Urls[0].Weight"
            }, {
                "data": "Urls[0].IsAvailable"
            }, {
                "data": "Urls[1].ServiceAddress"
            }, {
                "data": "Urls[1].Weight"
            }, {
                "data": "Urls[1].IsAvailable"
            }
        ],
    });
});
不过,您应该将数据放入数组中。工作

编辑

如果未定义URL的数量,则可以执行以下操作:

var table = $('#example').dataTable({
    "data": data,
    "columns": [
        {
            "data": "ServiceName"
        }, {
            "data": "Description"
        }, {
            "data": "IsActive"
        }, {
            "data": "Urls",
            "render": function(d){
                return JSON.stringify(d);
            }
        }
    ],
});
我想这并不精彩,但你可以对该函数做任何事情,例如:

var table = $('#example').dataTable({
    "data": data,
    "columns": [
        {
            "data": "ServiceName"
        }, {
            "data": "Description"
        }, {
            "data": "IsActive"
        }, {
            "data": "Urls",
            "render": function(d){
                return d.map(function(c){
                    return c.ServiceAddress
                }).join(", ");
            }
        }
    ],
});

但我不知道数据中有多少元素。这是一个小组我已经更新了我的答案。基本上,如果你不知道你要处理多少,你可以对它们进行迭代。只要
render
函数返回一个字符串,您就可以根据需要执行操作。。。如果
IsAvailable
为false,请更改样式。。。为
重量添加称重系统
。。。世界是你的龙虾!;-)