Scala/Gatling如何提取JSON响应中key字段的第2次出现值
解决方案
你原有写法$..key会匹配JSON中所有命名为key的字段,返回结果为数组,默认取第一个元素,因此只能拿到M01A。JSONPath数组下标从0开始计数,要取第2次出现的key值,对应下标为1,有两种实现方式:
方式1:适配现有写法直接取下标
直接对全局匹配结果取第2个元素,写法最简单:
.check(jsonPath("$..key[1]").saveAs("key"))
方式2:精准路径匹配(更稳定)
你需要的目标值位于libItems数组第一个元素的warningReferences数组的第二个元素内,用精准路径匹配可以避免后续JSON结构变动、其他位置新增key字段导致的匹配错位问题:
.check(jsonPath("$.libItems[0].warningReferences[1].key").saveAs("key"))
两种写法均可成功提取目标值ID_ADFA0741-6A46-4A90-8AAE-BC7DB18B27E1。
内容的提问来源于stack exchange,提问作者Magnus Jensen
相关产品推荐
相关产品推荐

