我已经阅读了大量关于嵌套JSON的参考资料和问题,但是没有一个问题是完全相同的。
我尝试使用IBMInstana来检索我计划加载到JQUERYDataTables表中的页面加载指标。
我从Instana获得的嵌套JSON:
{
"items" : [ {
"name" : "/Content/Search.htm",
"earliestTimestamp" : 1674432701496,
"cursor" : {
"@class" : ".IngestionOffsetCursor",
"ingestionTime" : 1674509519588,
"offset" : 1
},
"metrics" : {
"pageLoads.sum" : [ [ 1674511200000, 79.0 ] ]
}
}, {
"name" : "/Content/Home.htm",
"earliestTimestamp" : 1674435256403,
"cursor" : {
"@class" : ".IngestionOffsetCursor",
"ingestionTime" : 1674509519588,
"offset" : 2
},
"metrics" : {
"pageLoads.sum" : [ [ 1674511200000, 45.0 ] ]
}
} ],
"canLoadMore" : false,
"totalHits" : 2,
"totalRepresentedItemCount" : 2,
"totalRetainedItemCount" : 2,
"adjustedTimeframe" : {
"windowSize" : 169200000,
"to" : 1674511200000
}
}
以及加载它并将其添加到DataTables中的表的代码:
$(document).ready(function () {
$('#example').DataTable({
ajax: {
url: 'data/daily.txt',
dataSrc: 'items',
},
columns: [
{ data: 'cursor.offset' },
{ data: 'name' },
{ data: 'earliestTimestamp' },
{ data: 'metrics[0]' },
],
deferRender: true
});
});
虽然整个事情很简单,即使是嵌套的cursor.offset和点,我也无法在metrics\pageLoads.sum中分配这两个值,特别是嵌套的pageLoads.sum
也包含一个点,并且值放在没有引号的双方括号中。(日期和页面加载数)我想在两个单独的列,但由于无法加载它们在所有,我接着以某种方式将它们加载到一个单元格,但即使这样也不起作用。
我尝试添加pageLoads.sum(然后在引号中添加'metrics."pageLoads.sum"')
,但没有帮助,DataTables抛出错误消息“请求未知参数'度量.....〈和我尝试过的变体〉。
我也试过:{ data: 'metrics' },
这将在html单元格中返回[object Object]{ data: 'metrics[0]' },
DT没有错误,但单元格仍为空{ data: 'metrics[, ]' },
DT没有错误,但单元格仍为空
是否有办法访问metrics\pageLoads.sum
中的两个值,或者在此之前必须更改JSON结构?
1条答案
按热度按时间rjee0c151#
拆分嵌套数组的内容...
...分为两列,您可以使用以下命令:
它使用了我在注解(ref.)中提到的双反斜杠,还使用了两个列呈现器来处理嵌套数组到两个单独字段的拆分。
最终结果如下所示: