Это мой файл 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 ;
}
},