Using Python, I need to delete all objects in JSON array that have specific value of 'name' key. However, I can't do that from a loop.
Imaging I want to delete all items having 'bad' as name in the following input:
{
'myArray' : [
{
'name' : 'good',
'value' : '1'
},
{
'name' : 'bad',
'value' : '2'
}
]
}
So I use the following Python test case:
myData = {'myArray': [{'name': 'good', 'value': '1'}, {'name': 'bad', 'value': '2'}]}
for a in myData['myArray']:
if (a['name'] =='bad'):
del a
print(json.dumps(myData))
And I see that the myData is not changed.
I assume this is because I try to delete an iterator of a loop, that might be considered as risky action by interpreter, however no runtime error or warning is reported by Python.
What's the recommended approach in this case?
Thanks!