如何用JsonPath筛选Swagger文件中x-policy.peerName为social的路径?
需求
从提供的Swagger JSON里,找出所有满足**路径下的HTTP方法节点包含x-policy字段且peerName值为social**的路径字符串。
可用的JSONPath表达式
$.paths | entries(@)[?(@[1].*['x-policy'].peerName == 'social')].@[0]
表达式说明
$.paths:定位到Swagger结构里的paths对象entries(@):把paths转成键值对数组,每个元素格式为[路径字符串, 该路径对应的方法集合][?(@[1].*['x-policy'].peerName == 'social')]:筛选出方法集合中存在任意HTTP方法包含x-policy.peerName=social的键值对.@[0]:提取筛选后的键值对里的路径字符串
执行结果
运行该表达式后,会得到你期望的结果:
[ "/nzh/manage/contact/addContacts/", "/nzh/biz/addProduct/", "/nzh/subProductList/" ]
内容的提问来源于stack exchange,提问作者saba safavi
相关产品推荐
相关产品推荐

