You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

无需嵌套for循环处理多维JSON列表并提取指定字段方案求助

JSON字段提取优化方案

优化思路

  • 取消无意义的索引遍历,直接迭代列表元素,大幅提升代码可读性
  • 提前提取同一根节点下共用的ratePlanCode、dynamicBaseRate字段,避免内层循环重复取值,降低不必要的性能损耗
  • 若业务确认ratePlanBasedOnRates仅存在1个有效对象,可直接取首个元素省掉第三层嵌套循环

优化后代码

# 存储最终提取结果
result = []
# 直接迭代JSON根列表元素,不需要索引
for item in json_list:
    # 提取当前节点下的共用字段,仅执行1次
    schedule_list = item["ratePlanScheduleList"]
    rate_plan_code = schedule_list["ratePlanCode"]
    # 提前提取dynamicBaseRate,示例中仅1个有效项直接取索引0,多个的话可先遍历存为列表
    dynamic_base_rate = item["ratePlanMasterInfo"]["ratePlanBasedOnRates"][0]["dynamicBaseRate"]
    
    # 迭代每个ratePlanSchedule元素
    for schedule in schedule_list["ratePlanSchedule"]:
        detail = schedule["ratePlanScheduleDetail"]
        # 按要求组装单条结果存入列表
        result.append({
            "rateAmounts": detail["rateAmounts"],
            "roomTypeList": detail["roomTypeList"],
            "ratePlanCode": rate_plan_code,
            "dynamicBaseRate": dynamic_base_rate
        })

效果说明

所有目标字段会按ratePlanSchedule的粒度汇总到result列表中,每个元素对应你需要的全部字段,可直接用于后续业务处理,同时也修正了你原有代码里缺方括号的语法错误。

内容的提问来源于stack exchange,提问作者Amar

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.06 01:18:02