I have the JSON data, where I would like to delete unnecessary elements. I am using element.pop()
, and this is normal what we do. But I am wondering if I have more than thousands elements in JSON and my requirements is only for element0
, element1
and element6
, then again I need to use element.pop()
.
Do we have something's, where I do not need to pop all unnecessary elements? Because, if my requirement is only for 3 elements and then I need to pop
thousands elements. This will take time.
data.json
[
{
"fields": {
"element0": "val0",
"element1": "val1",
"element2": "val2",
"element3": "val3",
"element4": "val4",
"element5": "val5",
"element6": "val6"
}
},
{
"fields": {
"element0": "val0",
"element1": "val1",
"element2": "val2",
"element3": "val3",
"element4": "val4",
"element5": "val5",
"element6": "val6"
}
}
]
python code
import json
with open('data.json','r') as f:
s = f.read()
data = json.loads(s)
### my expectation
for element in data:
element['fields'].pop('element2', None)
element['fields'].pop('element3', None)
element['fields'].pop('element4', None)
element['fields'].pop('element5', None)
expected.json
[
{
"fields": {
"element0": "val0",
"element1": "val1",
"element6": "val6"
}
},
{
"fields": {
"element0": "val0",
"element1": "val1",
"element6": "val6"
}
}
]