JSON es un lenguaje para almacenar e intercambiar datos. JSON es texto, escrito con notación de objetos JavaScript. JSON en Python tiene un paquete incorporado llamado json, que se puede usar para trabajar con datos JSON.
Ejemplo
Importar el módulo json:
import json
Parse JSON-Convertir de JSON
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 # Código JSON: x = '{ "País":"España", "Comunidad":"Madrid", "Ciudad":"Alcobendas"}' # parse x: y = json.loads(x) # El resultado es un diccionario de python: print(y["Ciudad"])
Convertir de Python a JSON
Si tiene un objeto Python, puede convertirlo en una cadena JSON usando el método json.dumps ().
Ejemplo
Convertir de Python a JSON:
import json # a Python object (dict): x = { "País":"España", "Comunidad":"Madrid", "Ciudad":"Alcobendas" } # convertir a JSON: y = json.dumps(x) #El resultado es un string de JSON: print(y)
Puede convertir objetos de Python de los siguientes tipos, en cadenas JSON:
- dict
- list
- tuple
- string
- int
- float
- True
- False
- None
Ejemplo
Convierta los objetos de Python en cadenas JSON e imprima los valores:
import json print(json.dumps({"País":"España", "Comunidad":"Madrid",})) print(json.dumps(["Aranjuez","Las Rozas"])) print(json.dumps(("Aranjuez","Las Rozas"))) print(json.dumps("Catalina")) print(json.dumps(32)) print(json.dumps(32.10)) print(json.dumps(True)) print(json.dumps(False)) print(json.dumps(None))
Cuando se 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 Python que contenga todos los tipos de un cliente:
import json x = { "Nombre":"Ricardo", "Apellido":"Rodriguez", "teléfono": 600000000, "email":"[email protected]", "Segmento": ("AA"), "N Compras":7, "Productos comprados": [ {"Vino":"Vino tinto","Grados":14}, {"Vino":"Vino Blanco","Grados":11.5} ] } print(json.dumps(x))
Formato del 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
Use el parámetro de sangría para definir los números de sangría:
json.dumps(x, indent=3)
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 separadores cambiar el separador predeterminado:
json.dumps(x, indent=3, separators=(". ", " = "))
Ordenar el resultado
El método json.dumps () tiene parámetros para ordenar las claves en el resultado:
Ejemplo
Use el parámetro sort_keys para especificar si el resultado debe ordenarse o no:
json.dumps(x, indent=3, sort_keys=True)