0% encontró este documento útil (0 votos)
7 vistas6 páginas

Consultas a OpenWeather con JSON

Cargado por

Daniel González
Derechos de autor
© All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
7 vistas6 páginas

Consultas a OpenWeather con JSON

Cargado por

Daniel González
Derechos de autor
© All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd

2º DAM PROGRAMACIÓN SERVICIOS

API OPENWEATHER
Y JSON

Daniel González Rodríguez


2º DAM PROGRAMACIÓN
SERVICIOS

ÍNDICE

1. Enunciado ................................................................................................................. 3
2. Introducción .............................................................................................................. 3
3. Código ...................................................................................................................... 4
4. Pantallazos ................................................................................................................. 5
5. Conclusión ................................................................................................................. 6

OpenWeather y JSON Daniel González Rodríguez Página 2 de 6


2º DAM PROGRAMACIÓN
SERVICIOS

1. Enunciado

A partir del material y código facilitado en clase, para acceso a través de API
Openweather se solicita realizar 3 consultas para mostrar el tiempo actual en
LONDRES, MADRID Y PARÍS, mostrar el resultado por pantalla. Se utilizará la librería
[Link] para obtener los campos que nos interesa de las respuestas obtenidas a
través de la API.

Ejecutar y explicar todas las partes del programa y adjuntar pantallazos con los
resultados obtenidos.

2. Introducción
Se va a hacer uso de la API Openweather, la cual al hacerle una petición a la URL y
mediante una key/id que te dan al registrarte, añadiéndole por medio el nombre de la
ciudad, te envía los datos de localización de esa ciudad y el clima que hace
actualmente.

En este caso, vamos a hacerle la petición de Londres, Madrid y París.

Estos son todos los .jar que necesitamos para la aplicación:

Y todos los imports:

OpenWeather y JSON Daniel González Rodríguez Página 3 de 6


2º DAM PROGRAMACIÓN
SERVICIOS

3. Código

import [Link];

import [Link];
import [Link];
import [Link];

import [Link];
import [Link];

public class ApiTiempoMain {


static OkHttpClient client = new OkHttpClient();
public static void main(String[] args) throws IOException, JSONException {
consultaPaises("Madrid");
consultaPaises("London");
consultaPaises("Paris");
}

public static void consultaPaises(String ciudad) throws IOException, JSONException {


Request peticion = new [Link]()
.url("[Link] + ciudad +
"&appid=6d4fbb014215a8fa3ca4109d55165e32")
.build(); // defaults to GET
Response respuesta = [Link](peticion).execute();
String jsonResponse = [Link]().string(); // respuesta a String para imprimirla
// Parsear el JSON
JSONObject json = new JSONObject(jsonResponse);
// Extraer los campos deseados
String ciudadActual = [Link]("name");
JSONObject clima = [Link]("main"); // Almacena todo el json
double temperaturaKelvin = [Link]("temp");
// Kelvin a Celsius
double temperaturaCelsius = temperaturaKelvin - 273.15;

[Link]("Ciudad: " + ciudadActual);


[Link]("Temperatura en Celsius: " + temperaturaCelsius + "°C"); //
Temperatura en Celsius
[Link]("Temperatura en Kelvin: " + temperaturaKelvin + "k"); // Temperatura
en Celsius
[Link]("----------------------------------");
}
}

OpenWeather y JSON Daniel González Rodríguez Página 4 de 6


2º DAM PROGRAMACIÓN
SERVICIOS

4. Pantallazos
Esta es la respuesta pura a la consulta hecha al API:

Madrid
{"coord":{"lon":-
3.7026,"lat":40.4165},"weather":[{"id":803,"main":"Clouds","description":"broken
clouds","icon":"04d"}],"base":"stations","main":{"temp":286.48,"feels_like":286.01,"temp_
min":284.88,"temp_max":287.83,"pressure":1023,"humidity":82},"visibility":10000,"wind":
{"speed":4.63,"deg":210},"clouds":{"all":75},"dt":1707825453,"sys":{"type":2,"id":200754
5,"country":"ES","sunrise":1707808314,"sunset":1707846382},"timezone":3600,"id":311
7735,"name":"Madrid","cod":200}

Londres
{"coord":{"lon":-
0.1257,"lat":51.5085},"weather":[{"id":500,"main":"Rain","description":"light
rain","icon":"10d"}],"base":"stations","main":{"temp":281.86,"feels_like":280.06,"temp_mi
n":280.93,"temp_max":283.22,"pressure":1012,"humidity":89},"visibility":10000,"wind":{"
speed":3.09,"deg":170},"rain":{"1h":0.69},"clouds":{"all":40},"dt":1707825668,"sys":{"type
":2,"id":2075535,"country":"GB","sunrise":1707808778,"sunset":1707844201},"timezone
":0,"id":2643743,"name":"London","cod":200}

Paris
{"coord":{"lon":2.3488,"lat":48.8534},"weather":[{"id":802,"main":"Clouds","description":"s
cattered
clouds","icon":"03d"}],"base":"stations","main":{"temp":282.44,"feels_like":279.61,"temp_
min":280.43,"temp_max":284.49,"pressure":1019,"humidity":79},"visibility":10000,"wind":
{"speed":5.66,"deg":180},"clouds":{"all":40},"dt":1707825602,"sys":{"type":2,"id":201220
8,"country":"FR","sunrise":1707807814,"sunset":1707843977},"timezone":3600,"id":298
8507,"name":"Paris","cod":200}

Ahora usando la libreria [Link]:

OpenWeather y JSON Daniel González Rodríguez Página 5 de 6


2º DAM PROGRAMACIÓN
SERVICIOS

5. Conclusión
En esta práctica hemos tenido un primer contacto con APIS en este caso la de
OpenWeatherMap para obtener información meteorológica de diferentes ciudades.
Utiliza la libreria OkHttp para realizar solicitudes HTTP y la biblioteca JSONObject para
analizar y extraer datos del JSON de respuesta.

También hemos aprendido a manipular y leer JSONS de manera correcta y ver los
datos que nos interesan, ya que no todos los querrás mostrar.

Y respecto a usar APIs, hay que tener en cuenta por ejemplo la seguridad, la gestión
de errores y los términos de servicio.

Aunque en general las APIs te facilitan un montón de cosas, sobre todo consultas a un
nivel masivo de información, lo cual sería imposible para los humanos.

OpenWeather y JSON Daniel González Rodríguez Página 6 de 6

También podría gustarte