PythonJSON _
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 usar para trabajar con datos JSON.
Ejemplo
Importe el módulo json:
import json
Analizar JSON - Convertir de JSON a Python
Si tiene una cadena JSON, puede analizarla utilizando el
json.loads()
método.
El resultado será un diccionario Python .
Ejemplo
Convertir de JSON a Python:
import json
# some JSON:
x = '{ "name":"John", "age":30, "city":"New
York"}'
# parse x:
y = json.loads(x)
# the result is a
Python dictionary:
print(y["age"])
Convertir de Python a JSON
Si tiene un objeto de Python, puede convertirlo en una cadena JSON utilizando el json.dumps()
método.
Ejemplo
Convertir de Python a JSON:
import json
# a Python object (dict):
x = {
"name":
"John",
"age": 30,
"city": "New York"
}
#
convert into JSON:
y = json.dumps(x)
# the result is a JSON string:
print(y)
Puede convertir objetos de Python de los siguientes tipos en cadenas JSON:
- dictar
- lista
- tupla
- cuerda
- En t
- flotador
- Cierto
- Falso
- Ninguna
Ejemplo
Convierta objetos de 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))
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
Convierta un objeto de 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))
Dar formato al 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 json.dumps()
método tiene parámetros para facilitar la lectura del resultado:
Ejemplo
Utilice el indent
parámetro para definir el número de sangrías:
json.dumps(x, indent=4)
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 separators
parámetro para cambiar el separador predeterminado:
json.dumps(x, indent=4, separators=(". ", " = "))
Ordenar el resultado
El json.dumps()
método tiene parámetros para ordenar las claves en el resultado:
Ejemplo
Utilice el sort_keys
parámetro para especificar si el resultado debe ordenarse o no:
json.dumps(x, indent=4, sort_keys=True)