根据您的需求,要生成一个表头在上方、左列为统计类型(平均值、方差等)的表格JSON结构,推荐以下格式:
推荐的JSON结构
json
{
"headers": ["统计类型", "参数1", "参数2", "参数3"],
"rows": [
{
"type": "平均值",
"values": [10.5, 15.2, 8.7]
},
{
"type": "方差",
"values": [2.3, 1.8, 3.1]
},
{
"type": "差值范围",
"values": [5.0, 8.5, 3.2]
},
{
"type": "数据变化幅度",
"values": [12.1, 18.3, 9.6]
}
]
}
或者使用更扁平化的结构
json
{
"headers": ["统计类型", "参数1", "参数2", "参数3"],
"data": [
["平均值", 10.5, 15.2, 8.7],
["方差", 2.3, 1.8, 3.1],
["差值范围", 5.0, 8.5, 3.2],
["数据变化幅度", 12.1, 18.3, 9.6]
]
}
这种结构的特点是:
headers: 表示表头,第一列固定为"统计类型",后续列为具体参数rows/data: 表示每一行数据,左侧为统计类型名称,右侧为对应参数的计算结果
在您的 [FlightDataServiceImpl](file://D:\Desktop\ai_wei\projects\F-XA-01\code\f-xa-01-api\f-xa-01-api-server\src\main\java\com\aiwei\server\service\entity\impl\FlightDataServiceImpl.java#L46-L306) 中,可以通过遍历 [StatsTypeEnum](file://D:\Desktop\ai_wei\projects\F-XA-01\code\f-xa-01-api\f-xa-01-api-common\src\main\java\com\aiwei\common\enumeration\StatsTypeEnum.java#L7-L53) 的所有类型,并结合 [statsService](file://D:\Desktop\ai_wei\projects\F-XA-01\code\f-xa-01-api\f-xa-01-api-server\src\main\java\com\aiwei\server\service\entity\impl\FlightDataServiceImpl.java#L63-L63) 计算结果来构建这样的JSON结构。
最推荐
基于阿里巴巴的开发规范和最佳实践,我最推荐以下JSON结构:
推荐结构:行列分离格式
json
{
"columns": ["统计类型", "参数A", "参数B", "参数C"],
"rows": [
["平均值", 10.5, 15.2, 8.7],
["方差", 2.3, 1.8, 3.1],
["差值范围", 5.0, 8.5, 3.2],
["数据变化幅度", 12.1, 18.3, 9.6]
]
}
推荐理由
- 符合阿里规范:结构清晰,易于前后端解析
- 渲染友好:前端表格组件可以直接使用,无需额外转换
- 扩展性强:支持动态列和行的增减
- 性能优化:数据紧凑,传输效率高
- 一致性:与阿里内部数据可视化组件数据结构保持一致
这种结构特别适合您在 [dataStats](file://D:\Desktop\ai_wei\projects\F-XA-01\code\f-xa-01-api\f-xa-01-api-server\src\main\java\com\aiwei\server\controller\FlightDataController.java#L107-L113) 方法中生成统计结果的场景,可以很好地展现表头在上、统计类型在左的表格布局。