Python JSON

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):

PythonJSON
dictObject
listArray
tupleArray
strString
intNumber
floatNumber
Truetrue
Falsefalse
Nonenull

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)