Python: diferencia entre json.load() y json.loads()

JSON (Notación de objetos de JavaScript) es 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. Es un formato independiente del idioma y es muy fácil de entender ya que es de naturaleza autodescriptiva. Python tiene un paquete integrado llamado json. En este artículo, vamos a ver los métodos Json.load y json.loads(). Ambos métodos se utilizan para leer y escribir desde la string Unicode con el archivo. 

json.load()

json.load() toma un objeto de archivo y devuelve el objeto json. Se utiliza para leer datos codificados en JSON de un archivo y convertirlos en un diccionario de Python y deserializar un archivo, es decir, acepta un objeto de archivo.

Sintaxis: json.load( fp , cls=Ninguno , object_hook=Ninguno , parse_float=Ninguno , parse_int=Ninguno , parse_constant=Ninguno , object_pairs_hook=Ninguno , **kw )

Parámetros:

fp: Puntero de archivo para leer texto.

object_hook: Es un parámetro opcional que será llamado con el resultado de cualquier objeto literal decodificado.

parse_float: Es un parámetro opcional que se llamará con la string de cada flotante JSON a decodificar. 

parse_int: Es un parámetro opcional que se llamará con la string de cada JSON int a decodificar.

object_pairs_hook: Es un parámetro opcional que será llamado con el resultado de cualquier objeto literal decodificado con una lista ordenada de pares.

Ejemplo:

Primero creando el archivo json:

Python3

import json
  
data = {
    "name": "Satyam kumar",
    "place": "patna",
    "skills": [
        "Raspberry pi",
        "Machine Learning",
        "Web Development"
    ],
    "email": "xyz@gmail.com",
    "projects": [
        "Python Data Mining",
        "Python Data Science"
    ]
}
with open( "data_file.json" , "w" ) as write:
    json.dump( data , write )

Producción:

archivo_datos.json

Después de crear el archivo json, usemos json.load():

Python3

with open("data_file.json", "r") as read_content:
    print(json.load(read_content))

Producción:

{‘nombre’: ‘Satyam kumar’, ‘lugar’: ‘patna’, ‘habilidades’: [‘Raspberry pi’, ‘Aprendizaje automático’, ‘Desarrollo web’],
‘correo electrónico’: ‘xyz@gmail.com’ , ‘proyectos’: [‘Python Data Mining’, ‘Python Data Science’]}

json.loads()

El método json.loads() se puede usar para analizar una string JSON válida y convertirla en un diccionario de Python. Se utiliza principalmente para deserializar strings nativas, bytes o arrays de bytes que consisten en datos JSON en Python Dictionary.

Sintaxis: json.loads( s , codificación=Ninguno , cls=Ninguno , object_hook=Ninguno , parse_float=Ninguno , parse_int=Ninguno , parse_constant=Ninguno , object_pairs_hook=Ninguno , **kw )

Parámetros:

s: Deserialice la instancia de str (s) que contiene un documento JSON a un objeto de Python utilizando esta tabla de conversión.

object_hook: Es un parámetro opcional que será llamado con el resultado de cualquier objeto literal decodificado.

parse_float: Es un parámetro opcional que se llamará con la string de cada flotante JSON a decodificar. 

parse_int: Es un parámetro opcional que se llamará con la string de cada JSON int a decodificar.

object_pairs_hook: Es un parámetro opcional que será llamado con el resultado de cualquier objeto literal decodificado con una lista ordenada de pares.

Ejemplo:

Python3

import json 
    
# JSON string: 
# Multi-line string 
data = """{ 
    "Name": "Jennifer Smith", 
    "Contact Number": 7867567898, 
    "Email": "jen123@gmail.com", 
    "Hobbies":["Reading", "Sketching", "Horse Riding"] 
    }"""
    
# parse data: 
res = json.loads( data ) 
    
# the result is a Python dictionary: 
print( res )

Producción:

{‘Nombre’: ‘Jennifer Smith’, ‘Número de contacto’: 7867567898, ‘Correo electrónico’: ‘jen123@gmail.com’,
‘Pasatiempos’: [‘Leer’, ‘Dibujar’, ‘Montar a caballo’]}

Publicación traducida automáticamente

Artículo escrito por kumar_satyam 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 *