Código Python:
import json
aaa='''
{
"eee":"yes",
"something": null,
"ok": ["no","mmm","eee"],
"please":false,
"no": {"f":true,"h":"ttt"}
}
'''
data=json.loads(aaa)
Cuando lo hago:
print(len(data))
Obtengo como se esperaba:
5
Y
print(len(data['ok']))
Que da
3
Pero de alguna manera
print(data[0])
Da
Traceback (most recent call last):
File "file.py", line 34, in <module>
print(data[0])
KeyError: 0
¿Cómo obtengo un término dentro de este objeto JSON usando su índice?
3 respuestas
Preguntó acerca de acceder a una posición en un JSON , pero la estructura data
es python dict
, con la clave y los valores, puede indexarla solo usando sus claves como lo hizo bien con data['ok']
.
Para obtener la primera clave, primero puede obtener dict.items()
, que es una lista de los pares key/value
, y luego, como es un list
, puede indexar con ints
data.items()
# [('eee', 'yes'), ('something', None), ('ok', ['no', 'mmm', 'eee']), ('please', False), ('no', {'f': True, 'h': 'ttt'})]
items = list(data.items())
items[0]
# ('eee', 'yes')
Los diccionarios de Python están desordenados. Significa que no puede acceder al elemento del diccionario según su valor de índice. Debe proporcionar la clave para acceder al valor o valores correspondientes.
¿Es esto lo que estás buscando?
Puede obtener el término dentro de JSON
especificando el valor Key
de los datos. Aquí, eee
es el Key
:
print((data['eee']))
Que imprimirá:
yes
De forma similar, puede utilizar otros Key
para obtener sus valores respectivos.
Los datos de JSON
tienen el formato Key:Value
Preguntas relacionadas
Nuevas preguntas
python
Python es un lenguaje de programación multipropósito, de tipificación dinámica y de múltiples paradigmas. Está diseñado para ser rápido de aprender, comprender y usar, y hacer cumplir una sintaxis limpia y uniforme. Tenga en cuenta que Python 2 está oficialmente fuera de soporte a partir del 01-01-2020. Aún así, para preguntas de Python específicas de la versión, agregue la etiqueta [python-2.7] o [python-3.x]. Cuando utilice una variante de Python (por ejemplo, Jython, PyPy) o una biblioteca (por ejemplo, Pandas y NumPy), inclúyala en las etiquetas.