Buenas, espero q anden bien, les traigo aquí un ejercicio resuelto o casi resuelto, tiene algunas que otras cosas que pulir, pero en si el objetivo del codigo está más que logrado, porque les muestro este ejercicio? Por dos razones, una porque me parece un ejercicio con mucho potencial, el otro por que no encontré mucha información detallada al respecto (o yo no supe dar con los tags justos) y actualizada. El objetivos es leer datos de un JSON porporcionado por una API y hacer uso de ello, para eso necesitamos dos conceptos explicados a continuación, que es una API y q es JSON.
Una API es una interfaz de programación de aplicaciones (del inglés API: Application Programming Interface). Es un conjunto de rutinas que provee acceso a funciones de un determinado software.En la web, las API's son publicadas por sitios para brindar la posibilidad de realizar alguna acción o acceder a alguna característica o contenido que el sitio provee. En nuestro caso usaremos la API de www.openweathermap.org
JSON (acrónimo de JavaScript Object Notation, «notación de objeto de JavaScript») es un formato de texto sencillo para el intercambio de datos. Se trata de un subconjunto de la notación literal de objetos de JavaScript, aunque, debido a su amplia adopción como alternativa a XML, se considera (año 2019) un formato independiente del lenguaje.
Una de las supuestas ventajas de JSON sobre XML como formato de intercambio de datos es que resulta mucho más sencillo escribir un analizador sintáctico (parser) para él.
En la siguiente imagen podemos observar lo q es un archivo JSON que nos proporciona la API de openweathermap, en esta página se tienen q registrar y una vez hecho eso el sitio les proporcionara una api key que tendremos q usar, no voy a detenerme mucho en esto, como verán está perfectamente ordenada y prolija, pero la verdad es q así es como lo interpreta el navegador FireFox, realmente no es una información muy legible.
En esta imagen es como realmente se ve un archivo JSON y que es lo que vamos a recibir en nuestro código de C++ del IDE de Arduino, en mi caso me canse del IDE de Arduino y uso Platformio, una extensión de Arduino para Visual Studio Code. Perdon la calidad de la imagen, no se como hacer que se vea mas grande, igual si le dan click a la imagen los lleva al a web hosting para q puedan verla mejor.
Acá se puede ver el mismo archivo JSON pero ordenado para que se vea más legible.
Y la url de la API
Donde:
Buenos Aires, se refiere a la ciudad
AR, se refiere al pais
y lo tachado al final, se refiere a la API key que les va a generar el sitio una vez registrados.