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

Python判断嵌套JSON是否为空及检测sys_id字段存在性问题

问题分析与解决方案

代码存在的核心问题

  1. 语法错误:

    • file "/dbfs/mnt/landing/2023/sample.json" 缺少赋值符号,应改为 file = "/dbfs/mnt/landing/2023/sample.json"
    • with open(file) as f: 块的缩进不正确,后续代码需对齐到with块内
  2. 逻辑错误:
    判断条件 'sys_id' in data 是检查根字典中是否存在sys_id键,但实际sys_id嵌套在data['result']数组的子对象里,这个判断永远不成立,导致一直输出empty list。

修正后的代码

import json

# 修正变量赋值语法
file = "/dbfs/mnt/landing/2023/sample.json"

with open(file) as f:
    data = json.load(f)
    result_list = data.get('result', [])
    
    # 检查result数组是否非空,且至少有一个元素包含sys_id字段
    has_sys_id = any('sys_id' in item for item in result_list)
    
    if has_sys_id:
        print("sys_id available")
    else:
        print("empty json")

补充说明

  • 用data.get('result', [])避免因JSON中不存在result键导致的报错
  • any('sys_id' in item for item in result_list) 遍历result数组中的每个对象,只要有一个对象包含sys_id字段就返回True
  • 移除了不必要的pandas和spark相关代码,若实际场景需要保留可自行加回,不影响核心判断逻辑

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.08 09:27:57