How to parse webpage JSON with temperatures in it.

2 visualizaciones (últimos 30 días)
Mantas Dabrovolskas
Mantas Dabrovolskas el 21 de Jun. de 2023
Comentada: Jon el 21 de Jun. de 2023
I am making a simple temperature graph with Thingspeak. I want to use my cities publicly available meteorology API - https://api.meteo.lt/v1/stations/vilniaus-ams/observations/2023-06-21
How would I read the temperature data and put it onto graph (merge it with inside temperature)?
Here is how I do it with my inside temperature sensor (I used standard Matlab example and edited it - added three hours to fix my time zone):
[dustData,Timestamps]=thingSpeakRead(XXXXXXX,'Fields',1,'NumPoints',100);
plot(Timestamps+hours(3),dustData,'red');
ylabel('Degrees');
title('Temperature');
grid on;

Respuesta aceptada

Jon
Jon el 21 de Jun. de 2023
You can use webread
data = webread('https://api.meteo.lt/v1/stations/vilniaus-ams/observations/2023-06-21')
data = struct with fields:
station: [1×1 struct] observations: [12×1 struct]
  1 comentario
Jon
Jon el 21 de Jun. de 2023
Editada: Jon el 21 de Jun. de 2023
In the above example, the air temperatures (I think that is what you want) are in data.observations.airTemperature

Iniciar sesión para comentar.

Más respuestas (1)

Lakshay Rose
Lakshay Rose el 21 de Jun. de 2023
Hi Mantas Dabrovolskas,
As per my understanding you are trying to read the JSON data returned from the API call from the mentioned URL.
You can follow the below steps to achieve the desired result –
  1. Retrieve the data from the API using the “webread” function in MATLAB. The API returns data in JSON format, so you'll need to parse it to extract the temperature values.
  2. Retrieve the inside temperature data from “ThingSpeak” using the “thingSpeakRead” function, similar to what you already have in your code.
  3. Merge both the dataset and plot the graph.
You can also refer to the documentation of “webread” for further information –
  1 comentario
Jon
Jon el 21 de Jun. de 2023
From my simple example above, it seems that webread already parses the contents and returns it in a structure, so it is not necessary to use jsondecode

Iniciar sesión para comentar.

Comunidades de usuarios

Más respuestas en  ThingSpeak Community

Productos

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by