这是我的json文件:
[{"id":1,"name":"Cat","productgroup":[{"id":5,"name":"Animals"},{"id":6,"name":"Female"}]},{"id":2,"name":"Dog","productgroup":[{"id":5,"name":"Animals"},{"id":7,"name":"Male"}]},
这是我将数据加载到数据表中(使用树枝)的方法:
"columns": [
{% for key, value in columns %}
{ "data": "{{ key }}"},
{% endfor %}
]
所以这实际上是在替换它:
"columns": [
{"data": "id"},
{"data": "name"},
{"data": "productgroup"},
]
但是因为“ productgroup”是一个嵌套对象,所以我需要这样做:
"columns": [
{"data": "id"},
{"data": "name"},
{"data": "productgroup[, ].name"},
]
当嵌套对象没有多个值时,我实际上有一个可行的解决方案,只针对单个对象:
[{"id":3,"name":"Leaf","icon":{"id":4,"name":"leaf"}],
此处的输出必须为:
"columns": [
{"data": "id"},
{"data": "name"},
{"data": "icon.name"},
]
此解决方案非常有效:
"columnDefs": [
{
"render": function (data, type, row) {
var type = typeof data;
if(type == "object"){
return data.name;
} else {
return data ;
}
},
所以我需要的是这样的东西:
"columnDefs": [
{
"render": function (data, type, row) {
var type = typeof data;
if(type == "object"){
if(object is nested){
return data[, ].name;
} else {
return data.name;
}
} else {
return data ;
}
},
答案 0 :(得分:1)
我只需要检测此“ key”:{“ key”:value,“ key”:“ value”}与此“ key”:[{“ key”:value,“ key”:“之间的区别值“}]
您可以使用以下方法简单地检查一个值是否为数组:
Array.isArray(myobject.mykey)
对于foo
中的{ foo: { lorem: "ipsum", dolor: "sit" } }
返回false,对foo
中的{ foo: [{ lorem: "ipsum", dolor: "sit" }] }
返回true