Parse JSON Array of Objects en Python

Zeeshan Afridi 21 junio 2023
  1. Notación de objetos de JavaScript
  2. Objetos JSON en Python
  3. Parse JSON Array of Objects en Python
Parse JSON Array of Objects en Python

Como los navegadores pueden analizar rápidamente los objetos JSON, ayudan a transferir datos entre un cliente y un servidor. Este artículo describirá cómo transmitir y recibir datos JSON usando el módulo JSON de Python.

Notación de objetos de JavaScript

JSON (Notación de objetos de JavaScript) es una sintaxis para el intercambio de datos que es fácil de leer y escribir por personas, fácil de analizar y producir por computadoras y almacenar datos también.

Es un formato de texto completo que es imparcial hacia el lenguaje. Además, python incluye una biblioteca llamada json que podemos usar para interactuar con datos JSON.

La sintaxis de JSON se considera parte de la sintaxis de JavaScript, que también incluye nombre y valor, ya que nombre está precedido por dos puntos (:) en la representación de datos, y los pares nombre: valor se dividen por coma

Los objetos están entre corchetes, mientras que los elementos de la matriz se encuentran entre corchetes donde una coma separa cada valor. Python necesitará algo de JSON para trabajar antes de comenzar a analizar JSON.

Hay algunas cosas que debemos configurar inicialmente. Primero haga un archivo de Python que contenga el código para estos ejercicios. Luego, importe el módulo JSON dentro del archivo.

Objetos JSON en Python

Como los navegadores pueden analizar rápidamente los objetos JSON, ayudan a transferir datos entre un cliente y un servidor. Las cadenas, los números enteros (flotantes o enteros), los valores booleanos, las listas, los valores nulos u otros objetos JSON son valores aceptables para las claves de objetos JSON.

Aquí, en el siguiente ejemplo, se crea un objeto json_string que se completa con un diccionario, los datos en el objeto se analizarán utilizando el método json.load() y luego imprimiendo los datos que se muestran en la salida.

Código de ejemplo:

import json

json_string = """
{
    "Student": {
        "ID" : "3",
        "name": "kelvin",
        "Group": "A",
        "Program" : "BSSE"
    }
}
"""
data = json.loads(json_string)
print(data)

Producción :

{'Student': {'ID': '3', 'name': 'kelvin', 'Group': 'A', 'Program': 'BSSE'}}

Parse JSON Array of Objects en Python

La estructura de las matrices JSON es idéntica a la de las listas entre paréntesis de Python. Pueden incluir matrices anidadas y los mismos tipos de datos que los valores de campo del objeto JSON. Utilice la función json.loads() del paquete integrado json para transformar una cadena JSON en un objeto de Python.

La cadena de datos JSON es analizada por la función json.loads(), que luego proporciona un diccionario de Python con todos los datos del JSON. Puede obtener datos analizados de este diccionario de Python utilizando nombres o índices para referirse a objetos.

También podemos examinar el diccionario en busca de elementos JSON anidados. Utilice el método asociado json.load() para analizar un archivo JSON (sin la s). hemos usado json.loads para analizar los valores en la matriz en el siguiente ejemplo.

Código de ejemplo:

import json

json_string = """
{
    "Student": {
        "ID" : "3",
        "name": "kelvin",
        "Group": "A",
        "Program" : "BSSE",

        "cars": [
            {"model": "BMW 330e", "mpg": 143},
            {"model": "Rolls-Royce Phantom EWB", "mpg": 18}
        ]
    }
}
"""
data = json.loads(json_string)
print(data)

Producción :

{'Student': {'ID': '3', 'name': 'kelvin', 'Group': 'A', 'Program': 'BSSE', 'cars': [{'model': 'BMW 330e', 'mpg': 143}, {'model': 'Rolls-Royce Phantom EWB', 'mpg': 18}]}}

Este ejemplo transforma una matriz JSON en un tipo de datos de matriz de Python a través del decodificador JSON. Usar su índice en un objeto de Python puede obtener un elemento de una matriz JSON.

Código de ejemplo:

import json

json_str = (
    """
{
  "Orders": [
    {"Id": 151},
    {"Id": 120},
    {"Id": 131},
    {"Id": 114}
  ]
}
"""
    ""
)
data = json.loads(json_str)

order_1_id = data["Orders"][0]["Id"]
order_2_id = data["Orders"][1]["Id"]
order_3_id = data["Orders"][0]["Id"]
order_4_id = data["Orders"][1]["Id"]
total = len(data["Orders"])

print(f"Order #1: {order_1_id}, Order #2: {order_2_id}, Total Orders: {total}")

Producción :

Order #1: 151, Order #2: 120, Total Orders: 4
Zeeshan Afridi avatar Zeeshan Afridi avatar

Zeeshan is a detail oriented software engineer that helps companies and individuals make their lives and easier with software solutions.

LinkedIn