Seite 1 von 1

JSON: Dict Key als Integer speichern

Verfasst: Dienstag 23. Oktober 2012, 08:32
von burli
Hi,
ich möchte ein Dict in einer JSON Datei speichern. Der Key ist ein Integer. Leider speichert JSON den Key als String, weshalb ich immer konvertieren muss.

Kann ich den Key beim Speichern irgendwie als Integer speichern?

Re: JSON: Dict Key als Integer speichern

Verfasst: Dienstag 23. Oktober 2012, 08:55
von sparrow
In JSON heißt diese Art der Liste "object" und beinhaltet tatsächlich Paare von Name: Wert, wobei Name eine Zeichenkette ist. Die Python-Bibliothek macht also alles richtig.

Re: JSON: Dict Key als Integer speichern

Verfasst: Dienstag 23. Oktober 2012, 09:00
von burli
Ich sag ja nicht, dass es falsch ist. Ich hätte es nur gern anders. Wenn es nicht anders geht muss ich konvertieren

Re: JSON: Dict Key als Integer speichern

Verfasst: Dienstag 23. Oktober 2012, 09:10
von sparrow
Hast du es schon mit dem parse_int -Parameter von json.loads() versucht?

Re: JSON: Dict Key als Integer speichern

Verfasst: Dienstag 23. Oktober 2012, 09:57
von BlackJack
@sparrow: Das bringt nichts. Die Funktion wird auf ganze Zahlen aus dem JSON angewendet, und nicht auf Zeichenketten. Das kann man zum Beispiel benutzen wenn man alle Zahlen im JSON als Gleitpunktzahlen haben möchte:

Code: Alles auswählen

In [223]: json.loads('{"42":42}', parse_int=int)
Out[223]: {u'42': 42}

In [224]: json.loads('{"42":42}', parse_int=float)
Out[224]: {u'42': 42.0}