如何在键值对位置变化的API响应中按值提取对应键
按值匹配提取JSON目标键的解决方案
完全可以用JSON Extractor这类工具通过值匹配的方式提取目标键,彻底摆脱对键值对位置的依赖,解决正则提取失效的问题。
举个实际场景的例子:假设API返回的JSON结构如下(键的顺序随机变化):
{ "customfield_789": "Other Content", "customfield_123": "Test Schedule", "customfield_456": "Subject Number" }
具体操作(以JMeter的JSON Extractor为例)
- 提取对应
Test Schedule的键:
在JSON Extractor的JSON Path Expression中填入:$entrySet()?[value == 'Test Schedule'].key,设置变量名(比如test_schedule_key),运行后就能得到对应的键customfield_123。 - 提取对应
Subject Number的键:
同理,使用表达式:$entrySet()?[value == 'Subject Number'].key,变量名设为subject_number_key即可。
这种方式通过遍历JSON的键值对,直接根据值的匹配结果提取对应键,完全不受键的排列顺序影响,完美适配你遇到的场景。
内容的提问来源于stack exchange,提问作者Jyoti Prakash Mallick
相关产品推荐
相关产品推荐

