Cómo leer y escribir en un archivo JSON en Python

La notación de objetos JavaScript (JSON) es una poderosa herramienta de programación para intercambiar datos rápidamente entre varias plataformas de programación. Ya sea que esté almacenando datos o creando una API, convertir sus datos en JSON los hace reutilizables y llamables, independientemente de la tecnología que acceda a ellos.

Para fomentar la comunicación efectiva entre Python y otros lenguajes de programación, incluido JavaScript, puede proporcionar sus datos como un objeto JSON.

A continuación, se explica cómo leer y escribir en un archivo JSON en Python.

Cómo escribir directamente en un archivo JSON

Hay una delgada línea entre un objeto JSON y un diccionario de Python.

Por lo tanto, es fácil almacenar un diccionario de Python como JSON. Pero para que funcione, necesita la biblioteca del analizador json .

Para comenzar, cree un archivo JSON en el directorio raíz de su proyecto.

Cree y abra un archivo Python en el mismo directorio. Luego puede escribir un diccionario en el archivo JSON usando Python:

 import json
data = {"MUO":"Media", "Google":"Search", "Python":"Language"}
with open("myfile.json", "w") as j:
json.dump(data, j)

También puede escribir una matriz más compleja en su archivo:

 import json
data = {"Sites":[{"MUO":"Media", "Google":"Search", "Python":"Language"}]}
with open("myfile.json", "w") as j:
json.dump(data, j)

Cómo almacenar una lista como JSON en Python

Es posible que tenga una lista o dos y desee guardarlas como JSON. Una buena práctica es convertirlos en un diccionario antes de escribirlos en un archivo JSON.

Hay muchas formas de convertir una lista en un diccionario de Python .

El siguiente código de ejemplo convierte la lista en un diccionario antes de escribirla en un objeto JSON:

 import json
data = ["MUO", "Media", "Google", "Search", "Python", "Language"]
data = {data[i]:data[i+1] for i in range(0, len(data), 2)} #convert data into a dictionary
with open("myfile.json", "w") as j:
json.dump(data, j)

Relacionado: Cómo usar bucles for en Python

Y si desea fusionar dos listas en una antes de escribirlas en un archivo JSON:

 import json
data = ["MUO", "Google", "Python"]
data2 = ["Media", "Search", "Language"]
outputData = {data[i]:data2[i] for i in range(len(data))} #merge the two lists into a dictionary
with open("myfile.json", "w") as j:
json.dump(outputData, j)

Acceso a sus datos JSON

Es fácil acceder y consultar sus datos desde un archivo JSON usando Python:

 import json
with open("test.json", "r") as j:
mydata = json.load(j)
print(mydata)
Output: {'MUO': 'Media', 'Google': 'Search', 'Python': 'Language'}

Más información: cómo leer JSON con Python

Y si desea obtener datos específicos de su archivo JSON:

 with open("test.json", "r") as j:
mydata = json.load(j)
print(mydata["MUO"])
Output: Media

Consulta más rápido en Python con JSON

Además de ser multiplataforma, los objetos JSON son livianos y pueden mejorar la velocidad de respuesta durante las consultas. Y como ha visto, hacer que las salidas estén disponibles como objetos JSON en Python es simple.

Sin embargo, puede haber algunas diferencias entre los ejemplos aquí y la implementación real en un proyecto de la vida real. Este es el conocimiento básico que necesita para comenzar. Afortunadamente, incluso puede usar una base de datos NoSQL como CouchDB con Python para almacenar entradas directamente como JSON.