Pitón

Cómo leer y escribir archivos Json en Python

Cómo leer y escribir archivos Json en Python
Este artículo explicará cómo manejar archivos y datos JSON en el lenguaje de programación Python. Python viene con un módulo "json" incorporado que hace que el manejo de datos JSON sea fácil y directo.

Sobre JSON

JSON (JavaScript Object Notation) es un formato de archivo y un estándar de almacenamiento de datos que utiliza pares clave-valor para almacenar e intercambiar datos. Es el formato de intercambio de datos más utilizado, a menudo visto en API RESTful, bases de datos livianas, archivos de configuración y otro software en línea o fuera de línea que necesita almacenar, recuperar e intercambiar datos. La mayoría de los lenguajes de programación incluyen bibliotecas para analizar y escribir datos JSON de forma predeterminada y JSON es un formato de datos independiente del lenguaje de programación. Los valores almacenados en un archivo JSON o carga útil generalmente contienen cadenas, números y tipos de datos serializables como listas (matrices).

Diccionarios JSON y Python

Los datos JSON en Python se convierten en un objeto de diccionario mediante el método "cargar". A menudo se ve que algunas personas equiparan los datos json y un diccionario de Python, ya que la sintaxis para definir ambos es casi la misma. Sin embargo, los datos json no son más que una cadena de texto estructurada en una sintaxis rígida, mientras que un diccionario de Python es un objeto de estructura de datos almacenado en la memoria. Si desea almacenar datos del diccionario en un archivo de texto o enviarlo a otro programa que no sea Python, primero deberá convertirlo en una cadena de texto (bytes). Esta cadena de texto volcada / convertida se define en la sintaxis estándar de JSON y el proceso de convertir un diccionario de Python en una cadena compatible con json se llama serialización.

Lectura y volcado de datos JSON en Python

Los datos JSON se pueden recuperar como una respuesta de un servidor, leer desde un archivo, cortar de los parámetros de consulta de URL, etc. Este artículo se centrará principalmente en leer datos json de un archivo almacenado localmente. Supongamos que una "prueba.json ”contiene los siguientes datos:

"codename": "Eoan Ermine", "versión": "Ubuntu 19.10 "

Para leer la prueba.json en Python, puede usar el siguiente código:

importar json
con open ("prueba.json ") como f:
datos = json.carga (f)
dump = json.volcados (datos)
imprimir (datos)
imprimir (tipo (datos))
imprimir (volcado)
imprimir (tipo (volcado))

La primera línea en el código anterior importa el módulo json. En la siguiente línea, "con abierto" se usa para leer con seguridad el contenido del archivo. Dentro del bloque "con abierto", "json.El método "load" se utiliza para leer y almacenar el contenido del archivo en la variable "data". Los datos cargados en el paso anterior se vuelven a convertir en una cadena json usando el comando "json.método de volcado. Ejecutar el código anterior mostrará el siguiente resultado:

'codename': 'Eoan Ermine', 'version': 'Ubuntu 19.10 '

"codename": "Eoan Ermine", "versión": "Ubuntu 19.10 "

Observe en la salida anterior que el "json.El método "load" lee los datos json sin procesar en un diccionario de Python mientras que "json."dumps" convierte un diccionario en una cadena que es compatible con la estructura JSON. Una vez que un objeto JSON se ha convertido en un objeto de diccionario de Python, puede usar métodos de diccionario de Python integrados para manejar los datos. El ejemplo anterior es bastante básico y no incluye matrices en datos JSON o valores anidados. Sin embargo, dentro de Python, puede manejar estos valores como cualquier otro diccionario y lista anidados.

Ordenación e impresión bonita de datos JSON

El "json.El método dump ”admite algunos parámetros opcionales para ordenar las claves e imprimir de forma bonita la salida para mejorar la legibilidad.

importar json
con open ("prueba.json ") como f:
datos = json.carga (f)
dump = json.volcados (datos, sort_keys = verdadero, sangría = 4)
imprimir (volcado)

El código anterior mostrará el siguiente resultado:


"codename": "Eoan Ermine",
"versión": "Ubuntu 19.10 "

Conversiones de tipos de datos

La siguiente lista ilustra cómo los valores JSON se convierten en objetos de Python y viceversa.

JSON Pitón
cuerda str
número int o flotar
verdadero Falso Verdadero Falso
nulo Ninguno
formación lista
objeto dictar

Json.módulo de línea de comando de la herramienta

Python incluye una bonita utilidad de línea de comandos "json.herramienta ”que se puede utilizar para validar e imprimir cadenas y archivos JSON.

$ echo '"codename": "Eoan Ermine", "version": "Ubuntu 19.10 " '| python3 -m json.herramienta

Ejecutar el comando anterior le mostrará el siguiente resultado:


"codename": "Eoan Ermine",
"versión": "Ubuntu 19.10 "

También puedes usar json.herramienta con archivos JSON. Reemplace "in_file" y "out_file" en el siguiente comando con los valores deseados:

$ python3 -m json.herramienta in_file out_file

Además de imprimir, ordenar y validar datos JSON, json.la herramienta no hace nada más. Entonces, si desea manipular cualquier dato JSON, debe escribir su propio código personalizado utilizando el módulo JSON incorporado.

Los mejores juegos para jugar con el seguimiento de manos
Oculus Quest presentó recientemente la gran idea del seguimiento manual sin controladores. Con un número cada vez mayor de juegos y actividades que ej...
Cómo mostrar la superposición de OSD en aplicaciones y juegos de Linux en pantalla completa
Jugar juegos en pantalla completa o usar aplicaciones en modo de pantalla completa sin distracciones puede aislarlo de la información relevante del si...
Las 5 mejores cartas de captura de juegos
Todos hemos visto y amado la transmisión de juegos en YouTube. PewDiePie, Jakesepticye y Markiplier son solo algunos de los mejores jugadores que han ...