Arduino JSON

Jindroush jindroush na seznam.cz
Středa Září 14 16:17:22 CEST 2022


Co je za hodnotu v tom myObject["pm2.5_aqi"]?
Je to primo int 36 nebo je to retezec "36"?
Coz bych hledal v dokumentaci toho JSON.parse, jaka je pametova 
reprezentace.
j.

On 14.09.2022 15:56, Jan Půhoný wrote:
> Dobré odpoledne,
>
> hraju si tady s ESP32 a snažím se vyčíst data z jednoho senzoru (z 
> toho PM2,5, o kterém jsme tady před časem mluvili). Do teď jsem to 
> dělal přes jejich cloudové API, ale teď to chci mít napřímo na IP 
> adresu senzoru ve vnitřní síti.
>
> Vrací mi to takovýto json:
>
> {"SensorId":"XXXXXX","DateTime":"2022/09/14T13:22:13z","Geo":"PurpleAir-4ab3","Mem":19696,"memfrag":19,"memfb":15984,"memcs":824,"Id":6086,"lat":50.010101,"lon":16.244499,"Adc":0.00,"loggingrate":15,"place":"inside","version":"7.00","uptime":369517,"rssi":-62,"period":120,"httpsuccess":15372,"httpsends":15493,"hardwareversion":"2.0","hardwarediscovered":"2.0+BME280+PMSX003-A","current_temp_f":86,"current_humidity":37,"current_dewpoint_f":57,"pressure":964.20,"p25aqic":"rgb(95,238,0)","*pm2.5_aqi*":36,"pm1_0_cf_1":6.17,"p_0_3_um":1070.64,"pm2_5_cf_1":8.59,"p_0_5_um":344.21,"pm10_0_cf_1":10.20,"p_1_0_um":58.06,"pm1_0_atm":6.17,"p_2_5_um":4.54,"pm2_5_atm":8.59,"p_5_0_um":1.99,"pm10_0_atm":10.20,"p_10_0_um":1.19,"pa_latency":474,"response":201,"response_date":1663161645,"latency":1789,"key1_response":200,"key1_response_date":1663161640,"key1_count":132515,"ts_latency":648,"key2_response":200,"key2_response_date":1663161642,"key2_count":132546,"ts_s_latency":616,"key1_response_b":200,"key1_response_date_b":1663161643,"key1_count_b":132566,"ts_latency_b":603,"wlstate":"Connected","status_0":2,"status_1":2,"status_2":2,"status_3":2,"status_4":2,"status_5":2,"status_6":2,"status_7":0,"status_8":2,"status_9":0,"ssid":"puhy_iot"}
>
> a já se snažím z toho dostat jednotlivé hodnoty. Zkoušel jsem něco jako:
>
> http.begin("http://IP_ADRESA_SENZORU/json 
> <http://IP_ADRESA_SENZORU/json>); // HTTP
>         int httpCode = http.GET();
>         // httpCode will be negative on error
>         if (httpCode > 0) {
>             // file found at server
>             if (httpCode == HTTP_CODE_OK) {
>                 String response = http.getString();
>                 JSONVar myObject = JSON.parse(response);
>                 int PM2_5 = atoi(myObject["*pm2.5_aqi*"]);
>                 response = "";
>                 http.end();
>                 return PM2_5;
>             }
>         } else {
>             http.end();
>             return httpCode;
>         }
>
> Problém je na tomto řádku:
>
> int PM2_5 = atoi(myObject["*pm2.5_aqi*"]);
>
> jak z toho dostanu hodnotu int pm2.5_aqi ?
>
> Díky,
>
> Honza Půhoný
>
> _______________________________________________
> HW-list mailing list  -  sponsored by www.HW.cz
> Hw-list na list.hw.cz
> http://list.hw.cz/mailman/listinfo/hw-list


-- 
Jindroush <jindroush na seznam.cz>

------------- další část ---------------
HTML příloha byla odstraněna...
URL: <http://list.hw.cz/pipermail/hw-list/attachments/20220914/87f5d7f3/attachment.htm>


Další informace o konferenci Hw-list