Bonjour,
Je souhaite récupérer plusieurs valeurs de température et les exploiter avec la bibliothèque Arduino JSON.
{
"cod": "200",
"message": 0,
"cnt": 2,
"list": [
{
"dt": 1664182800,
"main": {
"temp": 8.21,
"feels_like": 6.96,
"temp_min": 8.21,
"temp_max": 12,
"pressure": 1014,
"sea_level": 1014,
"grnd_level": 972,
"humidity": 94,
"temp_kf": -3.79
},
"weather": [ {
"id": 804,
"main": "Clouds",
"description": "overcast clouds",
"icon": "04d"
}],
"clouds": {"all": 100},
"wind": {
"speed": 2.17,
"deg": 237,
"gust": 4.27
},
"visibility": 10000,
"pop": 0,
"sys": {"pod": "d"},
"dt_txt": "2022-09-26 09:00:00"
},
{
"dt": 1664193600,
"main": {
"temp": 12.84,
"feels_like": 11.93,
"temp_min": 12.84,
"temp_max": 16.11,
"pressure": 1013,
"sea_level": 1013,
"grnd_level": 971,
"humidity": 67,
"temp_kf": -3.27
},
"weather": [ {
"id": 804,
"main": "Clouds",
"description": "overcast clouds",
"icon": "04d"
}],
"clouds": {"all": 99},
"wind": {
"speed": 4.81,
"deg": 258,
"gust": 8.02
},
"visibility": 10000,
"pop": 0,
"sys": {"pod": "d"},
"dt_txt": "2022-09-26 12:00:00"
}
],
"city": {
"id": 2998285,
"name": "Arrondissement de Limoges",
"coord": {
"lat": 45.75,
"lon": 1.3333
},
"country": "FR",
"population": 292998,
"timezone": 7200,
"sunrise": 1664171177,
"sunset": 1664214348
}
}
Ci-dessus un exemple de renvoi, je souhaite récupérer la deuxième valeur de température.
StaticJsonDocument<1024>doc;
deserializeJson(doc, result);
String temp = doc["list"][1]["main"]["temp"];
Serial.print("temperature :");
Serial.println(temp);
int temperature = temp.toInt();
Voici mon code. Sans le [1] je récupère la première valeur de température. Mon objectif est donc de récupérer la deuxième valeur de température qui se trouve dans la deuxième accolade de "list". Je cru comprendre dans la doc que je pouvais choisir avec [0] ou [1] pour choisir quelle sous-division de list je souhaite récupérer.
Mais cela me retourne NULL.
Si quelqu'un est capable de m'expliquer. Merci.