Parsear JSON en Python - 3 sencillos pasos

Guías, Guías, Python, Mar-06-20245 minutos de lectura

El análisis sintáctico de datos JSON con Python facilita la transformación de datos gracias a su ligereza. International Data Corporation predice que, para 2022, el sector de los Big Data y las empresas aumentará un 62% con respecto a 2018. Como el intercambio de datos es algo bastante común en el mundo digital, la gente tiene la intención de enviar cargas de datos desde sus servidores principales a

El análisis sintáctico de datos JSON con Python facilita la transformación de datos gracias a su ligereza. International Data Corporation predice que, para 2022, la industria de Big Data y negocios aumentará un 62% desde 2018. Como el intercambio de datos es algo bastante común en el mundo digital, la gente tiene la intención de enviar cargas de datos desde sus servidores principales a las aplicaciones cliente o desde un servidor a otras bases de datos. Las personas dependen en gran medida de los formatos de archivo de intercambio de datos como JSON para transmitir los datos al dispositivo en el otro extremo que convierte los datos en un formato legible por el usuario. En este artículo, vamos a explorar lo que es JSON, cómo analizar JSON en Python, y ¿por qué?

Índice

¿Por qué analizar JSON en Python?

Como JSON es un formato ligero, esto facilita la transformación en tiempo y velocidad. Por eso, los profesionales de los datos prefieren enviar y recibir mensajes en formatos JSON. Pero, cuando los datos transformados requieren operaciones posteriores, los usuarios tienen que convertirlos a un lenguaje comprensible para las máquinas. Esta es la razón por la que la gente analiza JSON en Python. Aquí, estamos trabajando con el lenguaje Python. Por lo tanto, tendremos que leer y analizar el JSON utilizando las bibliotecas y funciones de Python para acceder a los datos.

Para conocer la importancia del análisis sintáctico de datos, lea este artículo: Análisis sintáctico de datos y ventajas.

¿Qué es JSON?

Javascript Object Notation (JSON) es un formato de datos ligero que transmite información de un servidor a una aplicación web en un formato legible por el usuario. Aunque el formato JSON es un derivado de JavaScript, utiliza formato de texto para representar los objetos. Las máquinas pueden analizar JSON en Python para convertir los datos JSON en un formato legible por la máquina.

Ejemplo de datos JSON

{
   "person": [
 
      {
         "name": "John",
         "age": "26",
         "languages": ["C", “Python”]
      },
 
      {
         “name": “Nitin",
         "age": "24",
         "languages": ["Java", “Python”]
      }
   ]
}

Aquí está el ejemplo de cadena JSON. El contenido entre llaves es un objeto, y los datos entre corchetes son un array. 

Cómo analizar JSON en Python

The JSON string {“name”: “John”, “age”: “26”, “languages”: [“C”, “Python”]} is similar to the dictionaries in Python. Just like dictionaries, JSON also has keys and values. Here the keys and value pairs are separated with a colon. The ‘name,’ ‘age,’ and ‘languages’ are the keys, and the data after the colon are the values of the respective keys. JSON can be accessed in Python using the JSON library that holds all the functions to convert the JSON strings into Python dictionaries and vice versa. 

Python puede acceder a datos JSON importando la biblioteca JSON en el código python. El módulo JSON de Python permite al usuario leer, escribir, analizar y realizar otras operaciones con datos JSON.

 importar json

Convertir datos JSON en objetos Python

Los datos JSON son de muchos tipos, como cadenas, matrices, objetos, números, archivos y muchos más. 

Python Parse JSON - Objeto Python Equivalente

Después de recibir los datos JSON, la tarea principal es convertir los datos JSON en tipos de datos Python. Esta tabla muestra la lista de tipos de datos JSON y sus formatos Python equivalentes.

Tipos de datos JSONTipos de datos de Python
objetodic
matrizlista, tupla
cadenastr
númeroint, float
verdaderoVerdadero
falsoFalso
ningunoNulo

Steps to Parse different JSON Data into Python

Aquí aprenderemos a parsear ciertos datos JSON a su formato equivalente en Python. 

JSON Strings en Python DictionariesJSON Array en Python ListsJSON File en Python Objects. 

Parse JSON en Python - Conversión de cadenas a diccionarios

Considere un ejemplo de cadena JSON.

{
  "name": "John", 
  "age": "26"
 }

Asignar la cadena a una variable puede facilitar las operaciones de análisis sintáctico pasando la variable a las funciones. Ejemplo : print(persona)

person ='{"name": "John", "age": "26"}'

La sentencia print(persona) imprimirá la cadena. 

person ='{"name": "John", "age": "26"}'
print(person)

Salida 

{“name”: “John”, “age”: “26”}

Pasando la variable a la función type() se asegurará de que los datos son cadenas.

person ='{"name": "John", "age": "26"}'
 print(person)
 print(type(person))

Salida 

{“name”: “John”, “age”: “26”}

<class ‘str’>

Conversión de cadenas en diccionarios

El paso inicial es parsear los datos JSON que están en forma de cadena, a una forma amigable con Python. Como se discutió anteriormente, las cadenas JSON y los diccionarios Python son bastante similares, ya que ambos tienen una estructura de par clave-valor. Para leer y analizar los datos JSON en Python, primero vamos a importar la biblioteca JSON. La función loads() se utiliza para analizar cadenas JSON en un diccionario Python. La 's' en la función loads() denota la cadena.

importar json
 json.loads(STRNAME)

Consideremos la cadena JSON de ejemplo que imprimimos en el ejemplo anterior. 

person ='{"name": "John", "age": "26"}'
 print(person)

Usando la función json.loads() para convertir la cadena al diccionario python. El 'json' en el json.loads() denota el nombre de la biblioteca. 

json.loads(persona)

También es necesario asignar la sentencia load() a una nueva variable. En este caso, hemos utilizado la variable 'person_dxnry'. 

persona_dxnry = json.loads(persona)pyt

Después de convertir la cadena en un diccionario y asignarla a una nueva variable, podemos utilizar la función type() para ver el tipo de los datos antes y después de la conversión.

print(tipo(persona))
print(tipo(persona_dxnry))
import json
 person ='{"name": "John", "age": "26"}'
 print(person)
 print(type(person))
 person_dxnry = json.loads(person)
 print(person_dxnry)
 print(type(person_dxnry))

Salida:

{“name”: “John”, “age”: “26”}

<class ‘str’>

{‘name’: ‘John’, ‘age’: ’26’}

<class ‘dict’>

Aquí, las funciones type() muestran que el tipo es una cadena en el caso inicial y luego se convierte en un diccionario después de la conversión. 

Parse JSON en Python - Convertir un Array en una Lista

Intentemos convertir otro tipo de datos JSON en una estructura Python, usando este ejemplo de código JSON que tiene un array.

{
         "name": "John",
         "age": "26",
         "languages": ["C", “Python”]
      }

Podemos asignar el array a una variable 'languages' para pasarlo a la función loads(). A continuación, podemos crear una nueva variable 'language_list' para asignar el resultado de la función loads().

idiomas = '["C", "Python"]'
 languages_list = json.loads(languages)
importar jsonpyt
 idiomas = '["C", "Python"]'
 idiomas_list = json.loads(idiomas)
 print(lista_idiomas)
 print(tipo(lista_idiomas))

El uso de las funciones type() para ambas variables puede ayudarnos a verificar los tipos de datos.

Salida

['C', 'Python']

<class ‘list’>

Esta salida dice que el array JSON en 'languages' es convertido a una lista por la función loads().

Parse JSON en Python - Archivos a objeto

El formato JSON más común es una cadena. También hay muchas posibilidades de recibir datos en formato JSON como un archivo. Sea cual sea el tipo de datos, el objetivo final es parsearlos al formato legible por python. Hay dos funciones, como load() y loads(), que puedes usar para el parseo. Estas funciones de parseo JSON se diferencian por el tipo de datos JSON. Discutiremos brevemente estas funciones en las próximas secciones.

La biblioteca JSON incorporada en Python proporciona otra función de conversión 'load()' para leer y analizar el archivo JSON en Python. 

¿Cómo leer y analizar un archivo JSON?

Python Parse JSON - Tres Métodos.

El paso inicial es guardar este código de ejemplo con el nombre 'person.json'

{
         "name": "John",
         "age": "26",
      }

Hay dos funciones para analizar un archivo JSON. Una es la función open(). El método open() ayuda a abrir el archivo JSON e indica al compilador que realice el proceso de conversión mediante la operación load(). 

con open('persona.json') como archivo:pyt

Después de abrir el archivo JSON, tenemos que crear una variable 'data' para asignar las operaciones de carga.

datos = json.load(archivo)

Por último, podemos utilizar la función type() para comprobar el tipo del contenido.

print(tipo(datos))

Podemos acceder a los elementos del diccionario convertido utilizando la variable 'data' y pasando las claves del diccionario como 'name' y 'age'.

print(datos['edad'])
 print(datos['nombre'])
importar json
with open('persona.json') as file:
data = json.load(file)
print(tipo(datos))
print(datos['edad'])
print(datos['nombre'])

Salida:

<class ‘dict’>

26

John

La salida dice que el tipo es 'dictionary'. Esta salida significa que hemos convertido con éxito el archivo JSON en una lista.

Escribir Python en JSON

También podemos convertir formas de datos Python en JSON con las funciones dumps() y dump(). Estos son los procesos inversos de la función load() y loads(). Tomemos un diccionario Python y convirtámoslo en una cadena JSON, usando la función dump(). 

 Hemos definido un diccionario Python como 'diccionario_persona'. 

person_dictionary = {'name': 'John', 'age': 26 }

Utiliza la función dumps() para realizar la operación de conversión y asignarla a una nueva variable 'person_json'.

persona_json = json.dumps(persona_diccionario)
 print(persona_json)
import json
person_dictionary = {'name': 'John',
 'age': 26
 }
 person_json = json.dumps(person_dictionary)
 print(person_dictionary)
 print(type(person_dictionary))
 print(person_json)
 print(type(person_json))

Salida:

{‘name’: ‘John’, ‘age’: 26}

<class ‘dict’>

{“name”: “John”, “age”: 26}

<class ‘str’>

El uso de la función type() en ambas variables 'person_dictioanry' y 'person_json' garantiza la conversión del formato Python a una cadena JSON.

¿Cómo pueden ayudar los proxies?

JSON parsing es ampliamente preferido con aplicaciones de transformación de datos como scraping, análisis, migraciones de datos y procesos de integración de datos. Estas soluciones con proxies le ayudará a tener una mejor experiencia de raspado ilimitado y transformación de datos utilizando python. Ir a través de este blog para saber cómo agregar proxies con las solicitudes de python. Proxyscrape proporciona proxy de varios tipos para ayudar con este proceso de análisis.

Lee también

Entendiendo los apoderados escolares

Cómo configurar los proxies cURL

Encadenamiento de proxy

Preguntas frecuentes:

1. ¿Por qué analizar JSON en Python?
JSON análisis es posible con algunos otros idiomas, así, el análisis de Python es muy popular, ya que proporciona un paquete incorporado JSON para manejar leer, convertir y escribir datos JSON fácilmente. Este parseo es útil en aplicaciones como webscraping, news scraping, data wrangling, data mining, Search engine scraping, e industrias de Marketing donde se requiera la transformación de datos.
2. Nombra algunos lenguajes que soporten JSON.
El formato JSON es compatible con C++, Java, PHP, C# y Python.
3. ¿Qué son los objetos JSON?
Los objetos JSON son colecciones de pares de nombre y valor entre llaves. Cada par nombre/valor va separado por una coma, mientras que el nombre va seguido de dos puntos.

Resumen

JSON se ha convertido en algo esencial cuando se trabaja en sitios web. Siempre que hay necesidad de transferir o compartir datos, la gente suele utilizar el formato JSON, ya que son ligeros y fácilmente intercambiables. El formato JSON es más parecido a un formulario de texto, por lo que los usuarios pueden entender el contenido fácilmente. La máquina también puede leer y parsear el contenido a un formato amigable para la máquina. Aquí, discutimos algunas funcionalidades de conversión en Python, como open(), load(), loads(), dump(), y dumps(). Estas funciones incorporadas del módulo JSON pueden leer y analizar datos del formato JSON a tipos de datos Python, y viceversa.