Gibt es in Python 2.6 eine Möglichkeit, einen benutzerdefinierten Schlüssel oder CMP-Funktion zu JSON sort_keys zu liefern?benutzerdefinierte JSON sort_keys Reihenfolge in Python
[
{
"key": "numberpuzzles1",
"url": "number-puzzle-i.html",
"title": "Number Puzzle I",
"category": "nestedloops",
"points": "60",
"n": "087"
},
{
"key": "gettingindividualdigits",
"url": "getting-individual-digits.html",
"title": "Getting Individual Digits",
"category": "nestedloops",
"points": "80",
"n": "088"
}
]
..., die ich in der Liste Variable assigndb
gespeichert haben:
Ich habe eine Liste von dicts von JSON kommt wie so bekam. Ich würde gerne in der Lage sein, in die JSON zu laden, zu ändern und serialisiert es wieder mit dumps
(oder was auch immer), unter Beibehaltung der Bestellungen der Schlüssel intakt.
Bisher habe ich versucht, so etwas wie dieses:
ordering = {'key': 0, 'url': 1, 'title': 2, 'category': 3,
'flags': 4, 'points': 5, 'n': 6}
def key_func(k):
return ordering[k]
# renumber assignments sequentially
for (i, a) in enumerate(assigndb):
a["n"] = "%03d" % (i+1)
s = json.dumps(assigndb, indent=2, sort_keys=True, key=key_func)
... aber natürlich dumps
unterstützt nicht einen benutzerdefinierten Schlüssel wie list.sort()
tut. Etwas mit einer benutzerdefinierten JSONEncoder
vielleicht? Ich kann es nicht in Gang bringen.
Hässlich, aber funktional; Vielen Dank! –