JSON (Notación de objetos JavaScript) es un formato de archivo popular para presentar los datos estructurados y transferir los datos entre el servidor y la aplicación fácilmente. La estructura de este archivo es similar a algunos objetos de Python como lista, tupla y diccionario. Puede convertir cualquier objeto de diccionario en el objeto JSON utilizando los métodos dump() y dumps() del módulo json. Este artículo muestra las formas de convertir cualquier objeto de diccionario en objeto JSON en python.
json.método dumps ():
Este método se utiliza para convertir el objeto de diccionario en datos JSON para analizar o leer y es más lento que el método dump ().Sintaxis
:
Este método tiene muchos argumentos opcionales. En este artículo se muestran los usos de un argumento obligatorio y dos argumentos opcionales. Aquí, el primer argumento es un argumento obligatorio que se usa para tomar cualquier objeto de diccionario, el segundo argumento se usa para definir el número de unidades para sangría y el tercer argumento se usa para ordenar claves.
json.método dump ():
Este método se utiliza para almacenar objetos python en un archivo JSON. Es más rápido que el método dumps() porque escribe en la memoria y en el archivo por separado.Sintaxis
:
Este método tiene muchos argumentos como dumps(). En este artículo se utilizan tres argumentos para convertir los datos de un objeto de diccionario en datos JSON y almacenarlos en un archivo JSON. Aquí, el primer argumento se usa para tomar un objeto de diccionario que necesita convertirse en un objeto JSON, y el segundo argumento se usa para tomar el nombre del controlador de archivos del archivo donde se escribirán los datos JSON. El tercer argumento se utiliza para establecer la unidad de sangría.
Cómo se pueden usar estos dos métodos para convertir un objeto de diccionario en un archivo JSON o cadena JSON se muestra a continuación de este artículo.
Ejemplo-1: Convertir diccionario en JSON usando dumps () con sangría
Se menciona antes que el método dumps () tiene un parámetro obligatorio y puede tomar el objeto dictionary para convertir los datos en cadena JSON. En el siguiente script, dict_data es una variable de diccionario que contiene los datos de un registro de estudiante en particular. Al principio, el método dumps() se usa con un argumento y el valor de dict_data se convierte en datos JSON. El resultado del diccionario y del formato JSON es el mismo si no se utiliza sangría en los datos JSON. A continuación, el método dumps() se utiliza con dos argumentos, y 3 se utiliza como valor de sangría para los datos JSON. La segunda salida JSON se generará con sangría.
# Importar módulo json
importar json
# Definir un diccionario
dict_data = { «student_id»: «011894», «name»: «Matthew», «batch»: 30, «semester»:6 }
# Imprimir datos del diccionario
imprimir(«Salida Dictonaria: \n», dict_data, «\n»)
# Convertir diccionario en objeto json sin sangría
json_data = json.volcados (dict_data)
# imprimir datos json
imprimir («Salida JSON sin sangría: \n»,json_data, «\n»)
# Convertir diccionario en objeto json con sangría
json_data = json.volcados (dict_data,indent=3)
# imprimir datos json con sangría
imprimir («Salida JSON con sangría: \n», json_data)
Salida:
La siguiente salida aparecerá después de ejecutar el script.
Ejemplo-2: Convertir diccionario en JSON usando dumps() con sort_keys
Las claves de los datos JSON se pueden ordenar usando el argumento sort_keys de dumps(). El valor predeterminado de este argumento es False. En el siguiente script, el objeto diccionario se convierte en datos JSON sin usar sort_keys y usando sort_keys para mostrar el uso de este argumento. El primer método dumps () se utiliza con el valor de sangría 5 y la salida muestra datos JSON utilizando la sangría 5. En el segundo método dumps (), se usa sort_keys y se establece en True para ordenar los valores de las claves. La última salida JSON mostrará los datos después de ordenar los valores de las claves.
# Importar módulo json
importar json
# Definir un diccionario
dict_data = {‘name’:’Madison’,’Mes’:’Mayo’,’año’: 2020, ‘ventas’:}
# Imprimir datos del diccionario
imprimir(«Salida Dictonaria: \n», dict_data, «\n»)
# Convertir un diccionario con datos de lista en json
json_data = json.volcados (dict_data,indent = 5)
# imprimir datos json
imprimir («Salida JSON con sangría: \n», json_data)
# Convertir un diccionario con datos de lista en json mediante claves de clasificación
json_data = json.volcados (dict_data,indent = 5, sort_keys = True)
# imprimir datos json ordenados basados en claves
imprimir («Salida JSON ordenada con sangría: \n», json_data)
Producto:
La siguiente salida aparecerá después de ejecutar el script. La primera salida JSON muestra los valores de clave definidos en el diccionario y la segunda salida JSON muestra los valores de clave en orden ordenado.
Ejemplo-3: Convertir diccionario en datos JSON y almacenarlo en un archivo JSON
Si desea almacenar los datos JSON en un archivo después de convertir desde el diccionario, debe usar el método dump (). En este ejemplo se muestra cómo puede convertir un objeto de diccionario en datos JSON y almacenar los datos en un archivo JSON. Aquí, el método dump() utiliza tres argumentos. El primer argumento toma el objeto diccionario que se definió antes. El segundo argumento toma la variable manejadora de archivos que también está definida antes para crear un archivo JSON. El tercer argumento define el valor de sangría. El contenido del JSON recién escrito se imprimirá más adelante como salida.
# Importar módulo json
importar json
# Definir un diccionario
dict_data = { ‘c-101’: ‘Programación PHP’, ‘c-102’: ‘Programación Bash’, ‘c-103’:
‘Programación Python’,
‘c-104’: ‘Programación orientada a objetos’}
# Imprimir datos del diccionario
imprimir («Salida Dictonaria: \n», dict_data,»\n»)
# Establecer el nombre de archivo json
jsonFile = ‘lista de cursos.json ‘
# Abre un archivo json para escribir datos json
con open(jsonFile, ‘w’) como controlador de archivo1:
json.dump(dict_data, fileHandler1, indent = 2)
# Abre un archivo json para leer
fileHandler2 = open (jsonFile)
print («El contenido del archivo JSON: \n», fileHandler2.leer())
Salida:
La siguiente salida aparecerá después de ejecutar el script.
Conclusión:
Es necesario convertir los datos del diccionario en datos JSON para facilitar varias tareas de programación. Esta conversión de datos es importante porque los datos se pueden transferir de un script a otro fácilmente mediante JSON. Espero que este tutorial ayude a los usuarios de python a conocer las formas de convertir los datos del diccionario en datos JSON y aplicarlos correctamente en su script.