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

如何使用Rest Assured从API响应中按双条件过滤值

提取指定条件的JSON支出值实现方案

核心逻辑步骤

  • 第一步:从API响应的JSON数据中定位到key为xyhz的数组
  • 第二步:遍历该数组,筛选出channel字段等于Email的项
  • 第三步:从筛选后的项中提取对应的支出值(假设支出字段名为expense,请根据实际JSON结构调整)

示例JSON结构参考

假设你的API响应JSON结构如下:

{
  "xyhz": [
    {"channel": "Email", "expense": 100},
    {"channel": "SMS", "expense": 50},
    {"channel": "Email", "expense": 200}
  ],
  "other_channel_data": [...]
}

Python 实现代码

import json

# 模拟API响应的JSON字符串
api_response_str = '''
{
  "xyhz": [
    {"channel": "Email", "expense": 100},
    {"channel": "SMS", "expense": 50},
    {"channel": "Email", "expense": 200}
  ]
}
'''

# 解析JSON为字典
data = json.loads(api_response_str)

# 提取目标支出值,处理xyhz不存在的情况避免报错
email_expenses = [item["expense"] for item in data.get("xyhz", []) if item.get("channel") == "Email"]

print(email_expenses)  # 输出结果:[100, 200]

JavaScript 实现代码

// 模拟API响应的JSON对象
const apiResponse = {
  "xyhz": [
    {"channel": "Email", "expense": 100},
    {"channel": "SMS", "expense": 50},
    {"channel": "Email", "expense": 200}
  ]
};

// 提取目标支出值,处理xyhz不存在的情况避免报错
const emailExpenses = (apiResponse.xyhz || []).filter(item => item.channel === "Email").map(item => item.expense);

console.log(emailExpenses);  // 输出结果:[100, 200]

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.26 07:30:04