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?

user1447941
quelle
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

jdi
quelle
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
13

Auf Ideone getestet.


import json
array = '{"fruits": ["apple", "banana", "orange"]}'
data  = json.loads(array)
fruits_list = data['fruits']
print fruits_list
Sagar Hatekar
quelle