2012-06-11 14 views
35
import json 

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

Esa es mi matriz JSON, pero me gustaría convertir todos los valores en la cadena de frutas en una lista de Python. ¿Cuál sería la forma correcta de hacer esto?Convierta la matriz JSON a la lista Python

+2

¿Qué quiere decir? 'data ['fruits']' será una lista – jdi

+3

Tiene un JSON _Object_ que contiene un _Array_. Una matriz JSON es homóloga a una 'lista' de Python. Un JSON _Object_ es homologo a un Python 'dict'. Técnicamente, tienes un 'dict' que contiene un único par clave-valor donde el valor es una' lista' de cadenas. –

Respuesta

62
import json 

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

Tienes todo lo que necesitas. data habrá un diccionario, y data['fruits'] habrá una lista

+1

Oh, correcto. Pensé que solo tomaría cadenas individuales del objeto, y no las matrices. ¡Gracias! – user1447941

+0

@ user1447941: No hay problema. El decodificador traducirá todos los objetos json en sus objetos equivalentes incorporados en python. – jdi

+0

Quiso decir 'print (data [' fruits '])', porque su código solo funciona con() alrededor de los datos para mí :) –

10

Tested on Ideone.


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