En este punto se procederá a la creación de 2 ejemplos usando un JSON como BD, leyéndola y luego imprimiendo el reporte en modo consola.
Ejemplo Nro. 1: Ejemplo sencillo.
Paso Nro. 1: Crear el proyecto conteniendo la siguiente estructura:

Paso Nro. 2: Creación del JSON: cursos.json
[
{
"nombre":"Python",
"slug": "python"
},
{
"nombre":"Go",
"slug": "go"
},
{
"nombre":"PHP",
"slug": "php"
}
]
Paso Nro. 3: Creación del cuerpo del programa: main.py
import json
def cargar_datos(ruta):
with open(ruta) as contenido:
cursos = json.load(contenido)
print(cursos)
if __name__ == '__main__':
ruta = 'cursos.json'
cargar_datos(ruta)

Ejemplo Nro. 2: Ejemplo sencillo + filtro de datos
Paso Nro. 1: Crear el json con datos para filtrar (verificar que el dato slug tiene el mismo dato "go")
[
{
"nombre":"Python",
"slug": "python"
},
{
"nombre":"Go",
"slug": "go"
},
{
"nombre":"PHP",
"slug": "php"
}
]
Paso Nro. 2: Actualizar el main.py con el dato de input y output de cursos:
import json
def cargar_datos(ruta):
with open(ruta) as contenido:
cursos = json.load(contenido)
output_cursos = [x for x in cursos if x['slug'] == 'go']
print(output_cursos)
if __name__ == '__main__':
ruta = 'cursos.json'
cargar_datos(ruta)
Ejemplo Nro. 3: Ejemplo avanzado normalmente usado cuando se usan microservicios y usando filtros:
Paso Nro. 1: Crear el JSON
{
"red": "Super Red",
"activo": 1,
"redes": [{
"red": "red01",
"activo": 1
},
{
"red": "red02",
"activo": 1
},
{
"red": "red03",
"activo": 0
}]
}
Paso Nro. 2: Crear el main.py
import json
def cargar_datos(ruta):
with open(ruta) as contenido:
redes = json.load(contenido)
output_redes = [x for x in redes['redes'] if x['activo'] == 1]
print(output_redes)
if __name__ == '__main__':
ruta = 'redes.json'
cargar_datos(ruta)
Otra posible solución del main.py:
import json
def cargar_datos(ruta):
with open(ruta) as contenido:
redes = json.load(contenido)
for x in redes['redes']:
if x['activo'] == 1:
print('Nombre de red:', x['red'])
print('Activo:', x['activo'])
if __name__ == '__main__':
ruta = 'redes.json'
cargar_datos(ruta)
Y el resultado sería el siguiente:
