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

Java中如何以通用方式从嵌套JSON对象中取值

通用方式提取JSON中的Column、Tag和Status值

原始JSON结构

[
  {
    "HoldTag": {
      "Employee": {
        "Column": "0",
        "Tags": [
          {
            "Tag": "2345"
          }
        ],
        "Status": "3"
      },
      "Flag": "true"
    }
  }
]

通用提取逻辑

  • 定位到JSON数组的第一个元素(整个数据由数组包裹)
  • 逐层进入嵌套对象:HoldTag -> Employee
  • 直接提取Column和Status字段值
  • 遍历Tags数组,提取每个子对象里的Tag字段值

常见语言实现示例

Python示例

import json

# 解析JSON字符串
json_str = '''
[
  {
    "HoldTag": {
      "Employee": {
        "Column": "0",
        "Tags": [
          {
            "Tag": "2345"
          }
        ],
        "Status": "3"
      },
      "Flag": "true"
    }
  }
]
'''
data = json.loads(json_str)

# 提取目标字段
employee_info = data[0]["HoldTag"]["Employee"]
column_value = employee_info["Column"]
status_value = employee_info["Status"]
tag_values = [tag_item["Tag"] for tag_item in employee_info["Tags"]]

# 输出结果
print(f"Column: {column_value}")
print(f"Status: {status_value}")
print(f"Tags: {tag_values}")

JavaScript示例

const jsonStr = `[
  {
    "HoldTag": {
      "Employee": {
        "Column": "0",
        "Tags": [
          {
            "Tag": "2345"
          }
        ],
        "Status": "3"
      },
      "Flag": "true"
    }
  }
]`;

// 解析JSON
const data = JSON.parse(jsonStr);

// 提取目标字段
const employeeInfo = data[0].HoldTag.Employee;
const columnValue = employeeInfo.Column;
const statusValue = employeeInfo.Status;
const tagValues = employeeInfo.Tags.map(item => item.Tag);

// 输出结果
console.log(`Column: ${columnValue}`);
console.log(`Status: ${statusValue}`);
console.log(`Tags: ${tagValues}`);

健壮性优化提示

  • 可以加入字段存在性判断,避免因字段缺失导致报错:
    • Python中使用employee_info.get("Column", "默认值")替代直接索引
    • JavaScript中使用可选链操作符employeeInfo?.Column

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.16 03:35:23