Python JSON
JSON es una sintaxis para almacenar e intercambiar datos.
JSON es texto escrito con notación de objetos JavaScript.
JSON en Python
Python tiene un paquete integrado llamado json
, que se puede utilizar para trabajar con datos JSON.
Ejemplo
Importar el módulo json:
import json
Analizar JSON - Convertir de JSON a Python
Si tiene una cadena JSON, puede analizarla utilizando el método json.loads()
.
El resultado será un diccionario de Python.
Ejemplo
Convertir de JSON a Python:
import json
# algo de JSON:
x = '{ "name":"John", "age":30, "city":"New York"}'
# analizar x:
y = json.loads(x)
# el resultado es un diccionario de Python:
print(y["age"])
Inténtalo tú mismo »
Convertir de Python a JSON
Si tiene un objeto Python, puede convertirlo en una cadena JSON utilizando el método json.dumps()
.
Ejemplo
Convertir de Python a JSON:
import json
# un objeto Python (dict):
x = {
"name": "John",
"age": 30,
"city": "New York"
}
# convertir a JSON:
y = json.dumps(x)
# el resultado es una cadena JSON:
print(y)
Inténtalo tú mismo »
Puede convertir objetos Python de los siguientes tipos en cadenas JSON:
- dict
- list
- tuple
- string
- int
- float
- True
- False
- None
Ejemplo
Convierta objetos Python en cadenas JSON e imprima los valores:
import json
print(json.dumps({"name": "John", "age": 30}))
print(json.dumps(["apple", "bananas"]))
print(json.dumps(("apple", "bananas")))
print(json.dumps("hello"))
print(json.dumps(42))
print(json.dumps(31.76))
print(json.dumps(True))
print(json.dumps(False))
print(json.dumps(None))
Inténtalo tú mismo »
Cuando convierte de Python a JSON, los objetos de Python se convierten al equivalente de JSON (JavaScript):
Python | JSON |
---|---|
dict | Object |
list | Array |
tuple | Array |
str | String |
int | Number |
float | Number |
True | true |
False | false |
None | null |
Ejemplo
Convertir un objeto Python que contenga todos los tipos de datos legales:
import json
x = {
"name": "John",
"age": 30,
"married": True,
"divorced": False,
"children": ("Ann","Billy"),
"pets": None,
"cars": [
{"model": "BMW 230", "mpg": 27.5},
{"model": "Ford Edge", "mpg": 24.1}
]
}
print(json.dumps(x))
Inténtalo tú mismo »
Formatee el resultado
El ejemplo anterior imprime una cadena JSON, pero no es muy fácil de leer, sin sangrías ni saltos de línea.
El método json.dumps()
tiene parámetros para facilitar la lectura del resultado:
Ejemplo
Utilice el parámetro indent
para definir el número de sangrías:
json.dumps(x, indent=4)
Inténtalo tú mismo »
También puede definir los separadores, el valor predeterminado es (", ", ": "), lo que significa usar una coma y un espacio para separar cada objeto, y dos puntos y un espacio para separar las claves de los valores:
Ejemplo
Utilice el parámetro separators
para cambiar el separador predeterminado:
json.dumps(x, indent=4, separators=(". ", " = "))
Inténtalo tú mismo »
Ordenar el resultado
El método json.dumps()
tiene parámetros para ordenar las claves en el resultado:
Ejemplo
Utilice el parámetro sort_keys
para especificar si el resultado debe ordenarse o no:
json.dumps(x, indent=4, sort_keys=True)
Inténtalo tú mismo »