¿Cómo convertir JSON a Ordereddict?

La forma completa de JSON es la notación de objetos de JavaScript. Significa que un archivo de secuencia de comandos (ejecutable) que está hecho de texto en un lenguaje de programación se utiliza para almacenar y transferir los datos. Python admite JSON a través de un paquete integrado llamado json . Para usar esta función, importamos el paquete json en el script de Python. El texto en JSON se realiza a través de una string entre comillas que contiene un valor en el mapeo de clave-valor dentro de { }. Es similar al diccionario en Python.

Un OrderedDict es una subclase de diccionario que recuerda el orden en que se insertaron las claves por primera vez. La única diferencia entre dict() y OrderedDict() es que: OrderedDict conserva el orden en que se insertan las claves. Un dictado regular no rastrea el orden de inserción y al iterarlo da los valores en un orden arbitrario.

En este artículo vamos a discutir varios métodos para convertir JSON a Ordereddict .

Método 1

Especificando el argumento object_pairs_hook para JSONDecoder .

Python

# import required modules
import json
from collections import OrderedDict
  
# assign json file
jsonFile = '{"Geeks":1, "for": 2, "geeks":3}'
print(jsonFile)
  
# convert to Ordereddict
data = json.JSONDecoder(object_pairs_hook=OrderedDict).decode(jsonFile)
print(data)

Producción:

{"Geeks":1, "for": 2, "geeks":3}
OrderedDict([(u'Geeks', 1), (u'for', 2), (u'geeks', 3)])

Método #2

Pasando los datos JSON como parámetro a json.loads() .

Python

# import required modules
import json
from collections import OrderedDict
  
# assign json file
jsonFile = '{"Geeks":1, "for": 2, "geeks":3}'
print(jsonFile)
  
# convert to Ordereddict
data = json.loads(jsonFile, 
                  object_pairs_hook=OrderedDict)
print(data)

Producción:

{"Geeks":1, "for": 2, "geeks":3}
OrderedDict([(u'Geeks', 1), (u'for', 2), (u'geeks', 3)])

Publicación traducida automáticamente

Artículo escrito por sanskritimishra802 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *