String currentKey;
char* myArray[] = {"stationID", "neighborhood"};
int getIndexByKey( const char * key ){
for ( uint8_t i = 0; i < sizeof( myArray ) / sizeof( char * ); i++ )
if ( !strcmp( key, myArray[i] ) )
return i;
return -1;
}
void ExampleListener::key(String key) {
currentKey = key;
}
void ExampleListener::value(String value) {
int index = getIndexByKey(currentKey.c_str());
switch(index){
case 0:
Serial.print(" ----------> stationID : ");
Serial.println(value);
break;
case 1:
Serial.print(" ----------> neighborhood : ");
Serial.println(value);
break;
}
currentKey = key;
}
This code return then error:
c:/users/f1trn/appdata/local/arduino15/packages/esp8266/tools/xtensa-lx106-elf-gcc/2.5.0-4-b40a506/bin/../lib/gcc/xtensa-lx106-elf/4.8.2/../../../../xtensa-lx106-elf/bin/ld.exe: C:\Users\F1TRN\AppData\Local\Temp\arduino_build_556259\sketch\JsonStreamingParser.ino.cpp.o:C:\Users\F1TRN\Desktop\arduino_projet\JSON\test_arduino_JSON\JsonStreamingParser/JsonStreamingParser.ino:6: undefined reference to `vtable for ExampleListener'
collect2.exe: error: ld returned 1 exit status
Multiple libraries were found for "JsonStreamingParser.h"
Used: C:\Users\F1TRN\Documents\Arduino\libraries\json-streaming-parser
Using library json-streaming-parser at version 1.0.5 in folder: C:\Users\F1TRN\Documents\Arduino\libraries\json-streaming-parser
exit status 1
Error compiling for board NodeMCU 1.0 (ESP-12E Module).
Hi,
1th sorry for mi bad english write. Hope somebody can help me. I'm try with the demo programm JsonStreamingParser.ino. my Json is like:
char json[] = "{\"observations\":[{\"stationID\":\"IVENES1\",\"obsTimeUtc\":\"2020-01-01T09:44:08Z\",\"obsTimeLocal\":\"2020-01-01 10:44:08\",\"neighborhood\":\"Venesmes\",\"softwareType\":\"EasyWeatherV1.4.4\",\"country\":\"FR\",\"solarRadiation\":34.6,\"lon\":2.30547237,\"realtimeFrequency\":null,\"epoch\":1577871848,\"lat\":46.8543663,\"uv\":0.0,\"winddir\":111,\"humidity\":97,\"qcStatus\":-1,\"metric\":{\"temp\":4,\"heatIndex\":4,\"dewpt\":3,\"windChill\":4,\"windSpeed\":5,\"windGust\":5,\"pressure\":1031.93,\"precipRate\":0.00,\"precipTotal\":0.00,\"elev\":169}}]}";
All i right.
I modified then file ExampleParser.cpp like this:
This code return then error:
c:/users/f1trn/appdata/local/arduino15/packages/esp8266/tools/xtensa-lx106-elf-gcc/2.5.0-4-b40a506/bin/../lib/gcc/xtensa-lx106-elf/4.8.2/../../../../xtensa-lx106-elf/bin/ld.exe: C:\Users\F1TRN\AppData\Local\Temp\arduino_build_556259\sketch\JsonStreamingParser.ino.cpp.o:C:\Users\F1TRN\Desktop\arduino_projet\JSON\test_arduino_JSON\JsonStreamingParser/JsonStreamingParser.ino:6: undefined reference to `vtable for ExampleListener'
collect2.exe: error: ld returned 1 exit status
Multiple libraries were found for "JsonStreamingParser.h" Used: C:\Users\F1TRN\Documents\Arduino\libraries\json-streaming-parser Using library json-streaming-parser at version 1.0.5 in folder: C:\Users\F1TRN\Documents\Arduino\libraries\json-streaming-parser exit status 1 Error compiling for board NodeMCU 1.0 (ESP-12E Module).
Thanks for help