Cómo ordenar los objetos JSON en Python

Cómo ordenar los objetos JSON en Python
El archivo JSON es un medio muy popular para intercambiar datos entre diferentes tipos de lenguajes de programación. Es un formato de archivo basado en texto independiente del idioma que almacena datos utilizando una matriz y objeto. Puede almacenar números, cadenas, booleanos y otra matriz u objeto como contenido. El objeto JSON se puede ordenar utilizando funciones de Python incorporadas, módulos y funciones definidas por el usuario. Se han explicado diferentes formas de ordenar el objeto JSON en Python en este tutorial.

Ejemplo-1: ordene el objeto JSON usando JSON.deshecho()

Usando json.deshecho() La función es una forma de ordenar el objeto json. Se usa para convertir la matriz de objetos JSON en un objeto JSON ordenado. El valor del argumento sort_keys de la función dumps () requerirá establecer verdadero para generar los objetos JSON ordenados a partir de la matriz de objetos JSON. Cree un archivo de Python con el siguiente script Ordene los objetos JSON usando JSON.Función Dumps (). Los objetos JSON originales y ordenados se imprimirán después de ejecutar el script.

# Importar el módulo JSON
importar json
# Matriz de objetos JSON
Productos = ["nombre": "HDD", "Brand": "Samsung", "Precio": 100,
"Nombre": "Monitor", "Brand": "Dell", "Precio": 120,
"nombre": "mouse", "marca": "logitech", "precio": 10]
# Lea e imprima los datos originales
imprimir ("los datos originales: \ n 0".formato (productos))
# Convertir en el objeto JSON después de clasificar
sorted_json_data = json.volcados (productos, sort_keys = true)
# Imprima los datos de JSON ordenados
imprime ("Los datos JSON ordenados basados ​​en las teclas: \ n 0".formato (sorted_json_data))

Producción:

La siguiente salida aparecerá después de ejecutar el script. Cada objeto JSON contiene tres pares de valor clave en la matriz JSON. Los valores de los objetos han ordenado en función de las teclas en la salida. Según el valor de la clave, la clave de la marca ha aparecido primero, y la clave de precio apareció por última vez en función del tipo.

Ejemplo-2: Ordene el objeto JSON usando Lambda

Usar lambda en la función sort () es otra forma de ordenar los objetos JSON. Cree el archivo de Python con el siguiente script para clasificar los objetos JSON usando Sort () y la función Lambda. La tecla o claves en particular se puede mencionar para clasificar cuando la lambda se usa para clasificar. En el siguiente script, se ha utilizado la misma matriz de objetos JSON que se usó en el ejemplo anterior. Existen tres claves en los objetos JSON. Estos son nombre, marca y precio. La tecla 'Brand' ha mencionado en el sort () para la clave de clasificación. Entonces, los objetos JSON se ordenarán en función de los valores de la clave de 'marca'. Tanto los valores originales como los valores ordenados se imprimirán como salida.

# Matriz de objetos JSON
Productos = ["nombre": "HDD", "Brand": "Samsung", "Precio": "$ 100",
"Nombre": "Monitor", "Brand": "Dell", "Precio": "$ 120",
"name": "mouse", "marca": "logitech", "precio": "$ 10"]
# Imprima los datos originales
Imprima ("Los datos JSON originales: \ n 0".formato (productos))
# Ordene los datos JSON en función del valor de la clave de la marca
productos.sort (clave = lambda x: x ["marca"])
# Imprima los datos de JSON ordenados
Imprima ("Los datos JSON ordenados basados ​​en el valor de la marca: \ n 0".formato (productos))

Producción:

La siguiente salida aparecerá después de ejecutar el script. Tres valores de marca definidos en el guión son Samsung, Dell y Logitech. Después de clasificar, el objeto que contiene el producto del 'Dar a luz'La marca ha aparecido primero, y el objeto que contiene el'Samsung'La marca ha aparecido el último en la salida.

Ejemplo-3: ordene el objeto JSON usando la función ordenada

Cree un archivo de Python con el siguiente script para ordenar los objetos JSON utilizando el piprint módulo y el ordenado () función. El piprint El módulo se importa al script para usar la función pPrint () para formatear la salida JSON. Se ha declarado una variedad de cuatro objetos JSON en el script. Cada objeto contiene tres pares de valor clave. Las llaves son nombre, correo, y correo electrónico. Una función definida por el usuario nombrada sort_by_key () se declara clasificar los objetos JSON en función del valor del 'nombre' llave. Esta función se llama en el ordenado () función utilizando el argumento nombrado llave. Después de ejecutar el ordenado () función, los objetos JSON se imprimirán clasificando los objetos en función de los valores de la tecla de nombre.

# Importar módulo PPRint
Importar PPRint
# Matriz de objetos JSON
Employee_list = [

'Nombre': 'Firoz Shah',
'Publicar': 'HR',
'Correo electrónico': 'Contador'
,

'Nombre': 'Aiyan Hasan',
'post ventas',
'correo electrónico': 'gerente'
,

'Nombre': 'Mahmuda Feroz',
'Publicación': 'Marketing',
'Correo electrónico': 'CEO'
]
# Imprima la lista de JSON original
imprimir ("matriz de objetos JSON antes de clasificar:")
piprint.PPrint (Employee_List)
# Declarar función para devolver los datos ordenados basados ​​en el nombre
Def sort_by_key (lista):
Lista de retorno ['Nombre']
# Imprima la lista JSON ordenada basada en la tecla Nombre
imprimir ("\ narray of json objetos después de clasificar:")
piprint.PPrint (Sorted (Employee_List, Key = sort_by_key))

Producción:

La siguiente salida aparecerá después de ejecutar el script anterior. Tres valores de la tecla de nombre definida en el guión son 'Firoz Shah', 'Aiyan Hasan' y 'Mahmuda Feroz'. Después de clasificar, el objeto JSON que contiene 'Aiyan Hasan' en la clave de nombre ha aparecido primero, y el objeto JSON que contiene Mahmuda Feroz 'en la tecla de nombre ha aparecido último en la salida.

Ejemplo-4: Ordene los objetos JSON en orden descendente

Los objetos JSON han ordenado en orden ascendente en los tres ejemplos anteriores. La forma de ordenar el objeto JSON en orden descendente basado en un valor clave particular ha mostrado en este ejemplo. Cree un archivo de Python con el siguiente script que ordenará los objetos JSON en orden descendente en función del valor de la clave de precio.

Importar PPRint
# Matriz de objetos JSON
Productos = ["nombre": "HDD", "Brand": "Samsung", "Precio": "$ 100",
"Nombre": "Monitor", "Brand": "Dell", "Precio": "$ 120",
"name": "mouse", "marca": "logitech", "precio": "$ 10"]
"
Imprima los objetos JSON ordenados en orden descendente
Basado en el valor de la clave de precio
"
imprimir ("\ narray of json objetos después de clasificar:")
Productos = Sorted (Productos, Key = Lambda K: K ['Price'], Reverse = True)
piprint.PPRINT ((Productos))

Producción:

La siguiente salida aparecerá después de ejecutar el script anterior. Después de clasificar los objetos JSON, el objeto que contiene el valor de precio más alto ha aparecido primero, y el objeto que contiene el valor del precio más bajo ha aparecido último en la salida.

Conclusión:

Se han mostrado cuatro formas diferentes de ordenar los objetos JSON en este tutorial utilizando varios ejemplos. Las funciones sort (), sorted () y dumps () se han utilizado aquí para ordenar el objeto json en orden ascendente y descendente.