如何解决Swagger自定义标签删除Python
{
"swagger": "2.0","tags": [
{
"name": "Tag1"
},{
"name": "Tag2"
},{
"name": "Tag3"
},{
"name": "Tag4"
}
],"paths": {
"/api/v1/entities/{entityId}/status": {
"post": {
"tags": [
"Tag1","Tag3"
],.
.
.
}
"get": {
"tags": [
"Tag1",.
.
.
}
},"/api/v1/entities": {
"post": {
"tags": [
"Tag2","Tag3"
]
.
.
.
}
}
}
我想从顶级标签列表以及所有单个路径中删除存在于列表中的标签,例如:[“ Tag3”,“ Tag5”]。
解决方法
简单的迭代和过滤:
updated_tags = [d for d in tags if d['name'].upper() not in (tag.upper() for tag in REMOVE_TAGS)]
dict['tags'] = updated_tags
paths = shell_json['paths']
for path,httpMethods in paths.items():
for httpMethod,data in httpMethods.items():
tags = data['tags']
data['tags'] = [x for x in tags if x not in REMOVE_TAGS]
,
您可以遍历JSON两次。 第一次迭代并检查哪些标签保留为列表(例如,将其存储在列表中) 然后在第二次迭代中,删除保存在列表中的每个标签
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。