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?
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
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.
data['fruits']
wird eine Liste seinlist
. Ein JSON- Objekt ist homolog zu einem Pythondict
. Technisch gesehendict
enthält ein Paar ein einzelnes Schlüssel-Wert-Paar, wobei der Wertlist
aus Zeichenfolgen besteht.Antworten:
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.
data
wird ein Diktat sein unddata['fruits']
wird eine Liste seinquelle
Auf Ideone getestet.
import json array = '{"fruits": ["apple", "banana", "orange"]}' data = json.loads(array) fruits_list = data['fruits'] print fruits_list
quelle