Cuando trabajamos con elementos JSON es muy probable que estos vengan de un servicio REST que esté ubicado en una URL si son datos que nos ofrecen otros sistemas, normalmente vía API. O en otros casos estarán en ficheros, si en esta situación hemos utilizado el JSON para almacenar información de configuración. En el ejemplo de hoy vamos a ver cómo podemos cargar JSON desde una URL con Python.
Para ello lo primero será contar con una URL que nos devuelva un JSON. En este caso vamos a utilizamos la URL:
https://jsonplaceholder.typicode.com/todos/1
Esta URL nos devuelve un contenido JSON de ejemplo y nos servirá para nuestro código de ejemplo. El JSON que nos devuelve tendrá una forma como la siguiente:
{ "userId": 1, "id": 1, "title": "delectus aut autem", "completed": false }
Lo primero que tenemos que hacer es importarnos la librería requests
, la cual nos permite hacer peticiones http de una forma muy sencilla.
import requests
Una vez que tenemos importada la librería requests
vamos a utilizar el el objeto requests
que nos permitirá establecer la conexión, en concreto con el método .get()
al cual pasaremos la URL con el JSON.
response = requests.get("https://jsonplaceholder.typicode.com/todos/1")
Lo que obtendremos, si todo va bien, es un código 200 con la petición de respuesta.
<Response [200]>
Si bien, a nosotros nos interesa el contenido, así que lo convertiremos a JSON mediante la propiedad .text
response = requests.get("https://jsonplaceholder.typicode.com/todos/1").text
Una vez que tenemos el texto en formato JSON vamos a crear un objeto JSON. En este caso utilizamos la librería json
, por lo que habrá que importarla.
import json
El método json.loads()
nos permite pasarle un texto en JSON y devolvernos un objeto en JSON para poder se manipulado. Así escribiremos la siguiente línea de código:
objeto = json.loads(response)
Ya solo nos quedará acceder a una de las propiedades del objeto JSON para obtener su contenido. Por ejemplo podemos acceder a la propiedad del título de la siguiente manera:
print ("Titulo: " + objeto["title"])
Siguiendo estos sencillos pasos ya habremos conseguido cargar JSON desde una URL con Python.