JMeter中如何使用JSONPath提取所有city值并组装为数组
JSONPath提取所有city字段值的实现方案
你给出的需求可以通过JSONPath直接实现,以下是具体方案:
参考JSON结构
[ { "id": "MAIN", "key": 1 }, { "city": "Roselle", "id": "87", "state": "IL", "key": 1000 }, { "city": "Chicago", "id": "7102", "state": "IL", "key": 110 }, { "city": "Crown Point", "id": "7106", "state": "IN", "key": 110038 } ]
可用JSONPath表达式
根据输出要求,有两种可选写法:
- 如果你需要保留所有数组位置的返回结果,无city字段的位置返回null:
表达式:$[*].city
输出结果:[null, "Roselle", "Chicago", "Crown Point"] - 如果你只需要返回存在city字段的取值,过滤掉null值(最常用场景):
表达式:$[?(@.city)].city
输出结果:["Roselle", "Chicago", "Crown Point"]
表达式说明
$指代JSON的根节点,本次场景根节点为数组结构[*]表示遍历根数组下的所有元素?(@.city)为过滤规则,仅保留当前遍历节点(@代指当前节点)存在city属性的元素.city表示提取符合条件的元素的city字段取值
以上表达式兼容绝大多数主流JSONPath实现,可直接在对应工具中使用。
内容的提问来源于stack exchange,提问作者Ralph
相关产品推荐
相关产品推荐

