У меня есть файл с несколькими объектами JSON, например:
[
{
"fields": {
"project": {
"key": "GID"
},
"description": "",
"documentKey": "AB-TC-678",
"globalId": "GID-462256",
"idb_metric": "framework.jama.infra.tagged.testcases",
"lastActivityDate": "2017-12-19",
"name": "Admin: Action commands",
"sequence": "4.13.2.13.5.1.17",
"testCaseStatus": "PASSED",
"testCaseSteps": "FIELD_NOT_PRESENT"
}
},
{
"fields": {
"project": {
"key": "GID"
},
"description": "",
"documentKey": "AB-TC-679",
"globalId": "GID-462256",
"idb_metric": "framework.jama.infra.tagged.testcases",
"lastActivityDate": "2017-12-19",
"name": "Admin: Action not",
"sequence": "4.13.2.13.5.1.18",
"testCaseStatus": "PASSED",
"testCaseSteps": "FIELD_NOT_PRESENT"
}
}
]
Я пытаюсь удалить строки, где key = x, например, где key = "idb_metric".Используя ответы / комментарии ниже (спасибо!), Я почти на месте:
if 'idb_metric' in element["fields"]:
print("Found idb_metric!")
del element['fields']['idb_metric']
print(element)
Но если я ищу второй ключ, добавив elif, то только первый ключ (в первом блоке if)найдено / удалено:
elif 'sequence' in element["fields"]:
print("Found sequence!")
del element['fields']['sequence']
print(element)
Ожидаемые результаты при использовании вышеуказанного кода:
[
{
"fields": {
"project": {
"key": "GID"
},
"description": "",
"documentKey": "AB-TC-678",
"globalId": "GID-462256",
"lastActivityDate": "2017-12-19",
"name": "Admin: Action commands",
"testCaseStatus": "PASSED",
"testCaseSteps": "FIELD_NOT_PRESENT"
}
},
{
"fields": {
"project": {
"key": "GID"
},
"description": "",
"documentKey": "AB-TC-679",
"globalId": "GID-462256",
"lastActivityDate": "2017-12-19",
"name": "Admin: Action not",
"testCaseStatus": "PASSED",
"testCaseSteps": "FIELD_NOT_PRESENT"
}
}
]