Reputation: 387
I have a Json file like this:
{
"wasGeneratedBy": {
"_:wGB3": {
"prov:entity": "ivo://stsci/DSS-digitized-J.444",
"prov:activity": "stcsiNum-1b"
},
"_:wGB1": {
"prov:entity": "ivo://stsci/DSS-digitized-J.444-cutouts",
"prov:activity": "cds_cutout444"
},
"_:wGB2": {
"prov:entity": "ivo://stsci/DSS-digitized-I.444",
"prov:activity": "stcsiNum-1a"
}
},
"activity": {
"stcsiNum-1a": {},
},
"used": {
"_:u6": {
"prov:entity": "ivo://stsci/DSS-Plate-R.444",
"prov:activity": "stcsiNum-1c"
},
"_:u2": {
"prov:entity": "ivo://stsci/DSS-Plate-I.444",
"prov:activity": "stcsiNum-1a"
},
"_:u3": {
"prov:entity": "ivo://stsci/DSS-digitized-J.444",
"prov:activity": "cds_cutout444"
},
"entity": {
"ivo://stsci/DSS-digitized-R.444": {},
"ivo://stsci/DSS-digitized-J.444-cutouts": {},
"ivo://stsci/DSS-Plate-R.444": {},
}
}
But I want to sort all the keys ("wasGenereratedBy","activiy"...) in a specific order like this ("activity","entity","used","wasGeneratedBy")
I have declared this:
my_own_order = ['entity', 'used', 'activity','wasGeneratedBy']
And I have try this, but doesn't work:
print sorted(fileName,order=my_own_order)
Any suggestions ? Thanks you
Upvotes: 0
Views: 52
Reputation: 42678
Use OrderedDict
:
from collections import OrderedDict
print OrderedDict((k,mydict[k] for k in my_own_order))
Upvotes: 5