Post Top Ad

Your Ad Spot

miércoles, 7 de octubre de 2020

Tutorial de Python JSON

 

Trabajar con datos es el objetivo de usar Python como lenguaje de programación. JSON es quizás el formato de datos más común, y ahora veremos cómo trabajar con JSON usando Python. Python puede manejar el procesamiento de JSON a partir de una colección de posibles fuentes de datos como archivos, API web o módulos de terceros que generan JSON. Python tiene un módulo incorporado para el procesamiento JSON que es parte de la biblioteca estándar de Python.

Funciones de análisis de Python JSON

  • obj = load(archivo)
  • obj = loads(cadena)

Funciones de serialización de Python JSON

  • dump(obj, archivo)
  • str = dumps(obj)

Serializar datos de Python en JSON

Python convierte datos a JSON como se muestra a continuación en la tabla. Los objetos del diccionario de Python se convierten en objetos JSON. Las listas y tuplas se convierten en matrices. Las cadenas de Python se convierten en cadenas de JavaScript. Los tipos numéricos en Python que se derivan de números enteros y de punto flotante se analizan en números. Boolean True y False se convierten en sus contrapartes en JavaScript, y el valor de Python de None se convierte en nulo en JSON.

Objeto PythonRepresentación JSON
dictarobjeto
lista, tuplaformación
strcuerda
int, long, float, Enumsnúmero
Ciertocierto
Falsofalso
Ningunanulo

Analizando JSON en Python

Analizar JSON en Python es prácticamente lo contrario de los pasos de serialización mencionados anteriormente. La única excepción es el manejo de listas y tuplas. La razón de esto es que las listas y tuplas en Python están codificadas en matrices en JSON. Esto significa que cuando vuelve a analizar la lista en Python, no hay forma de saber si originalmente era una lista o una tupla. Puede tomar un objeto Python, serializarlo en JSON, analizarlo nuevamente en Python y tener un objeto diferente al que comenzó. La conclusión es que al analizar JSON en Python, nunca terminará con una tupla en el objeto Python, siempre será una lista.

Datos JSONObjeto Python
objetodictar
formaciónlista
cuerdastr
Número enteroEn t
Número de coma flotanteflotador
verdadero FalsoVerdadero Falso
nuloNinguna

Ejemplo de análisis de json.loads ()

Aquí hay algo de código Python para mostrar usando el método json.loads (). Para usar cargas (), primero debe importar json al archivo Python, lo cual es bastante fácil. Todo lo que necesita hacer es escribir import json justo al comienzo del archivo. En el código hay una variable nombrada jsonstring, que tiene asignada una cadena con formato JSON. Esta estructura de datos representa un pedido ficticio en su distribuidor de burritos mexicano favorito. Esto nos permite leer esos datos JSON usando json.loads (jsonstring) almacenando el resultado en la datavariable. La variable jsonstringes de tipo <class 'str'> antes de usar la función load (). El tipo resultante almacenado en dataes de tipo <class 'dict'>Una vez que tenemos los datos en un diccionario de Python, puede ver cómo es muy fácil recorrer los contenidos.

Orden: Filete
Con Doble Carne
Topping: Frijoles Negros
Topping: lechuga
Aderezo: Salsa
Topping: Guacamole

json.dumps () Ejemplo de serialización

Ahora podemos serializar fácilmente un objeto Python en una representación JSON. En el siguiente código hay una pythondictvariable que contiene toda la información sobre nuestro pedido de Burrito. Este diccionario de Python se puede convertir a una cadena JSON usando la función json.dumps () . Pasamos a la función los datos para convertir como primer argumento y el número de espacios de sangría para usar como segundo argumento con nombre. El resultado de esa operación se almacena en la jsonstringvariable. Cuando imprimimos esa variable, vemos una bonita cadena JSON como salida. Entonces, ahora vemos cómo analizar y serializar datos JSON usando Python.

-------- Datos de cadena JSON --------
{
    "burrito": "Filete",
    "doble carne": cierto,
    "coberturas": [
        "Frijoles negros",
        "Lechuga",
        "Salsa",
        "Guacamole"
    ],
    "precio": 9.17
}

Manejo de errores JSON con JSONDecodeError

Es posible encontrar errores al analizar y serializar JSON en Python. Para manejar estas situaciones podemos usar la clase JSONDecodeError que es parte del módulo JSON en sí. Revisemos uno de los ejemplos hasta ahora y envolvemos el análisis JSON en un bloque try / except. Usamos JSONDecodeError para emitir mensajes de error personalizados si algo sale mal. El código se resalta donde falta una coma y los resultados de ejecutar el código muestran que este error fue detectado y manejado.

Espere ahora, hubo un error de decodificación JSON o:
Esperando ',' delimitador
7 13

Ahora tenemos un error diferente en JSON.

Espere ahora, hubo un error de decodificación JSON o:
Carácter de control no válido en
8 23

Trabajar con JSON desde una API

Una vez más, podemos usar el conocido sitio httpbin.org para probar el uso de la biblioteca de solicitudes junto con algunos análisis y serialización de JSON. El patrón de recuperar texto JSON y analizarlo en un diccionario nativo es común en Python y la biblioteca de solicitudes detectará automáticamente si el contenido devuelto de una solicitud es JSON y lo analizará por usted. En el código siguiente, puede ver que usamos request.get (url) para realizar una solicitud GET a http://httpbin.org/json. Ese punto final ofrece esta salida.
punto final httpbin json

La .json()función es una función de conveniencia que permite al desarrollador acceder rápidamente a los datos JSON.

{
    "diapositivas": {
        "author": "Sinceramente suyo",
        "fecha": "fecha de publicación",
        "diapositivas": [
            {
                "title": "¡Despierta con WonderWidgets!",
                "tipo": "todos"
            },
            {
                "artículos": [
                    "Por qué los <em> WonderWidgets </em> son geniales",
                    "Quién <em> compra </em> WonderWidgets"
                ],
                "title": "Descripción general",
                "tipo": "todos"
            }
        ],
        "title": "Muestra de diapositivas"
    }
}
['diapositivas']
Muestra de diapositivas
Hay 2 diapositivas


Resumen del tutorial de Python JSON

En este tutorial, aprendimos cómo trabajar con JSON en Python. Algunos de los puntos clave se resumen aquí.

  • La función cargas () se utiliza para analizar el código JSON de una cadena.
  • La función load () se utiliza para analizar el código JSON de un archivo.
  • La clase JSONDecodeError se usa para manejar errores de análisis JSON.
  • La función dumps () serializa Python a JSON
  • A la función dump () se le puede pasar un segundo argumento para guardar JSON en un archivo.
  • Para acceder al código JSON analizado desde una solicitud, podemos usar la función json () .


No hay comentarios.:

Publicar un comentario

Dejanos tu comentario para seguir mejorando!

outbrain

Páginas