Change to ArduinoJSON

pull/127/head
Daniel Ansorregui 2022-08-02 22:41:26 +01:00
parent 5690db077f
commit 3a592df5b9
4 changed files with 12 additions and 11 deletions

View File

@ -17,7 +17,7 @@
"platforms": ["espressif32"],
"dependencies": [
{ "name": "Adafruit GFX Library" },
{ "name": "Arduino_JSON" },
{ "name": "ArduinoJSON" },
{ "name": "DS3232RTC" },
{ "name": "NTPClient" },
{

View File

@ -12,8 +12,6 @@
#include "config.h"
class BLE;
class BLE {
public:
BLE(void);

View File

@ -604,13 +604,16 @@ weatherData Watchy::getWeatherData(String cityID, String units, String lang,
http.begin(weatherQueryURL.c_str());
int httpResponseCode = http.GET();
if (httpResponseCode == 200) {
String payload = http.getString();
JSONVar responseObject = JSON.parse(payload);
currentWeather.temperature = int(responseObject["main"]["temp"]);
currentWeather.weatherConditionCode =
int(responseObject["weather"][0]["id"]);
currentWeather.weatherDescription =
responseObject["weather"][0]["main"];
String payload = http.getString();
DynamicJsonDocument doc(1024);
if (auto error = deserializeJson(doc, payload)) {
Serial.println(error.c_str());
} else {
currentWeather.temperature = doc["main"]["temp"].as<int>();
currentWeather.isMetric = settings.weatherUnit == String("metric");
currentWeather.weatherConditionCode = doc["weather"][0]["id"].as<int16_t>();
currentWeather.weatherDescription = doc["weather"][0]["main"].as<String>();
}
} else {
// http error
}

View File

@ -6,7 +6,7 @@
#include <HTTPClient.h>
#include <NTPClient.h>
#include <WiFiUdp.h>
#include <Arduino_JSON.h>
#include <ArduinoJson.h>
#include <GxEPD2_BW.h>
#include <Wire.h>
#include <Fonts/FreeMonoBold9pt7b.h>