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.