Konvertieren Sie das JSON-Array in eine Python-Liste


78
import json

array = '{"fruits": ["apple", "banana", "orange"]}'
data  = json.loads(array)

Das ist mein JSON-Array, aber ich möchte alle Werte in der Fruchtzeichenfolge in eine Python-Liste konvertieren. Was wäre der richtige Weg, dies zu tun?


3
Was meinst du? data['fruits']wird eine Liste sein
jdi

4
Sie haben ein JSON- Objekt, das ein Array enthält . Ein JSON-Array ist homolog zu einem Python list. Ein JSON- Objekt ist homolog zu einem Python dict. Technisch gesehen dictenthält ein Paar ein einzelnes Schlüssel-Wert-Paar, wobei der Wert listaus Zeichenfolgen besteht.
Joel Cornett

Antworten:


122
import json

array = '{"fruits": ["apple", "banana", "orange"]}'
data  = json.loads(array)
print data['fruits']
# the print displays:
# [u'apple', u'banana', u'orange']

Sie hatten alles, was Sie brauchten. datawird ein Diktat sein und data['fruits']wird eine Liste sein


1
Oh, richtig. Ich dachte, das würde nur einzelne Strings aus dem Objekt holen und keine Arrays. Vielen Dank!
user1447941

@ user1447941: Kein Problem. Der Decoder übersetzt alle JSON-Objekte in ihre in Python integrierten Gegenobjekte.
JDI

Meinten Sie 'print (Daten [' Früchte '])', weil Ihr Code nur mit () um die Daten für mich funktioniert :)
Maarten

1
@ MaartenOlijve Dieser Code wurde 2014 auf Python 2.7 geschrieben. Ich nehme an, Sie testen mit Python 3, wo print jetzt ein Funktionsaufruf ist.
JDI

1
@shashikantkuswaha Dies wurde vor über 4 Jahren auf Python2 geschrieben, wo das native String-Format ASCII war. Unicode war ein anderer Typ und ein Unicode-Literal wird als u'foo 'geschrieben. Wenn Sie bisher nur python3 verwendet haben, wird dieser Stil nicht angezeigt, da alle Zeichenfolgen nativer Unicode sind.
JDI

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.