Cómo usar datos JSON en Python

1 mar 2021 2 min di lettura
Cómo usar datos JSON en Python
Indice dei contenuti

Introducción

JSON es un formato de datos basado en texto legible por humanos. Es independiente del idioma y se utiliza para el intercambio de datos entre aplicaciones.

En este artículo, explicaremos cómo analizar datos JSON en Python.

Python JSON

El json que le permite codificar y decodificar datos JSON es parte de la biblioteca estándar de Python.

JSON es una cadena que representa los datos. Codificar o serializar significa transformar un objeto Python en una cadena JSON que se puede almacenar en un archivo o transmitir a través de la red. Proceso de deserialización o codificación inversa en el que una cadena JSON se transforma en un objeto Python.

A continuación, vemos una tabla que muestra los objetos de Python y su representación JSON equivalente:

Pitón JSON
dictar objeto
lista, tupla formación
str cuerda
int, flotar número
Cierto cierto
Falso falso
No lo es nulo

Para trabajar con JSON, simplemente importe el formulario en la parte superior del archivo:

import json

Codificar un JSON en Python

El json tiene dos métodos para codificar objetos Python en cadenas con formato JSON: dump() y dumps().

El dump() envía la salida a un objeto similar a un archivo. Se requieren dos argumentos posicionales: el objeto a codificar y el objeto similar a un archivo. Aquí hay un ejemplo:

data = {
 "country": "Germany",
 "vehicle": {
 "name": "Volkswagen",
 "model": "T-Roc"
 }
 }

 with open("file.json", "w") as file:
 json.dump(data, file)

Si ejecuta el script, se file.json un archivo llamado file.json con el siguiente contenido:

{"country": "Germany", "vehicle": {"name": "Volkswagen", "model": "T-Roc"}}

El dumps() funciona como dump() pero en lugar de enviar la salida a un objeto similar a un archivo, devuelve una cadena:

data = {
 "country": "Germany",
 "vehicle": {
 "name": "Volkswagen",
 "model": "T-Roc"
 }
 }

 json.dumps(data)
'{"country": "Germany", "vehicle": {"name": "Volkswagen", "model": "T-Roc"}}'

Ambos métodos toman los mismos argumentos de palabras clave. Por ejemplo, si está analizando o depurando datos JSON, es posible que desee especificar el nivel de sangría:

data = {
 "country": "Germany",
 "vehicle": {
 "name": "Volkswagen",
 "model": "T-Roc"
 }
 }

 print(json.dumps(data, indent=2))
{
 "country": "Germany",
 "vehicle": {
 "name": "Volkswagen",
 "model": "T-Roc"
 }
 }

Decodificar un JSON en Python

Para transformar JSON codificado datos en objetos de Python, utilice la load() y loads() métodos.

El load() lee la estructura JSON de un objeto similar a un archivo y lo transforma en un objeto Python.

Supongamos que tenemos el siguiente archivo JSON:

[
 {
 "userId": 1,
 "id": 1,
 "title": "Meet with Lisa",
 "completed": true
 },
 {
 "userId": 1,
 "id": 2,
 "title": "Design a prototype",
 "completed": false
 }
 ]

Para transformar datos JSON en una representación de Python, debe usar algo como esto:

import json

 with open('file.json') as f:
 data = json.load(f)

 type(data)

El JSON se transforma en una lista de Python, que puede usar en su código:

<class 'list'>

El loads() convierte una cadena que contiene un documento JSON en un objeto Python:

import json

 json_str= '{"userId": "1", "id": "1", "title": "Meet with Lisa", "completed": "True"}'

 print(json.loads(json_str))

La cadena se transforma en un diccionario de Python:

{'userId': '1', 'id': '1', 'title': 'Meet with Lisa', 'completed': 'True'}

A continuación, se muestra un ejemplo más avanzado que muestra cómo realizar una solicitud de API y decodificar datos JSON:

import json
 import requests

 response = requests.get("https://jsonplaceholder.typicode.com/users")
 users = json.loads(response.text)

 print(users)

Conclusión

En este tutorial hemos visto cómo codificar y decodificar datos JSON en Python.

Support us with a

Successivamente, completa il checkout per l'accesso completo a Noviello.it.
Bentornato! Accesso eseguito correttamente.
Ti sei abbonato con successo a Noviello.it.
Successo! Il tuo account è completamente attivato, ora hai accesso a tutti i contenuti.
Operazione riuscita. Le tue informazioni di fatturazione sono state aggiornate.
La tua fatturazione non è stata aggiornata.