Message253362
As a workaround (should you absolutely need to sort keys by some arbitrary criteria), you can initialize a collections.OrderedDict from the sorted items of your original dict (using whatever key function you like), then dump without using sort_keys=True. For example, your suggested behavior (treat all keys as str) could be achieved by the user by replacing:
json.dumps(mydict, sort_keys=True)
with:
json.dumps(collections.OrderedDict(sorted(mydict.items(), key=str)))
Particularly in 3.5 (where OrderedDict is a C builtin), this shouldn't incur too much additional overhead (`sort_keys` has to make a sorted list intermediate anyway), and the output is the same, without introducing implicit hiding of errors. |
|
Date |
User |
Action |
Args |
2015-10-23 02:56:30 | josh.r | set | recipients:
+ josh.r, tanzer@swing.co.at |
2015-10-23 02:56:30 | josh.r | set | messageid: <1445568990.87.0.9756037597.issue25457@psf.upfronthosting.co.za> |
2015-10-23 02:56:30 | josh.r | link | issue25457 messages |
2015-10-23 02:56:30 | josh.r | create | |
|