Spring Boot如何限制JSON响应中DATA字段的列表大小?
限制JSON响应中DATA字段的子列表数量
核心逻辑很简单:拿到原始JSON数据后,对DATA字段的列表做切片截取,保留你需要的前N个子列表,再构造新的响应返回即可。下面是不同后端框架的具体实现示例:
Flask 框架示例
限制为30个子列表的控制器
from flask import jsonify def get_limited_data_30(): # 替换成你获取原始JSON数据的实际逻辑(比如查库、调第三方接口) raw_response = fetch_original_json() # 截取前30个子列表,若不足30个则返回全部 raw_response["DATA"] = raw_response["DATA"][:30] return jsonify(raw_response)
限制为90个子列表的控制器
from flask import jsonify def get_limited_data_90(): raw_response = fetch_original_json() raw_response["DATA"] = raw_response["DATA"][:90] return jsonify(raw_response)
Django 框架示例
限制为30个子列表的控制器
from django.http import JsonResponse def limited_data_30(request): raw_response = fetch_original_json() raw_response["DATA"] = raw_response["DATA"][:30] return JsonResponse(raw_response)
限制为90个子列表的控制器
from django.http import JsonResponse def limited_data_90(request): raw_response = fetch_original_json() raw_response["DATA"] = raw_response["DATA"][:90] return JsonResponse(raw_response)
额外说明
- 如果
DATA字段可能为空列表,切片操作不会报错,会直接返回空列表,无需额外处理; - 若需要严格校验
DATA的格式(确保是列表类型),可以加个简单判断:
if isinstance(raw_response.get("DATA"), list): raw_response["DATA"] = raw_response["DATA"][:30] else: # 处理DATA不是列表的异常情况,比如设为空列表或返回错误 raw_response["DATA"] = []
内容的提问来源于stack exchange,提问作者Abhinav Dogra
相关产品推荐
相关产品推荐

