I'm trying to create an array of strings. I'm building each individual string by parsing a json file and getting the strings between '{'s and '}'s. However, for some reason, my array is only assigning one index with the string i want. This is my code:
String day = "";
String Combo[] = {"0","0","0","0","0","0","0","0"};
int x = 2;
int number = 0;
/* Read data until either the connection is closed, or the idle timeout is reached. */
unsigned long lastRead = millis();
while (www.connected() && (millis() - lastRead < IDLE_TIMEOUT_MS)) {
/* Reads one character at a time*/
while (www.available()) {
char sym = www.read();
if (sym == '{') {
x = 1;
}
if (x==1){
if (!day.concat(sym)) {
//Serial.println("concat() error!");
}
}
if (x==1 && sym == '}'){
x=0;
Serial.println(number);
}
if ((number > 0) && (number < 9) && (x==0)) {
Combo[number-1] = day;
Serial.print(day);
Combo[number-1] = day;
Serial.println(F("-------------------------------------"));
Serial.println(Combo[number-1]);
Serial.println(F("-------------------------------------"));
Serial.println(F("-------------------------------------"));
day = "";
number +=1;
x = 2;
} else if (number ==0 && x ==0){
day = "";
number +=1;
x = 2;
}
lastRead = millis();
}
}
Which returns this:
{
"firstString"
}-------------------------------------
-------------------------------------
-------------------------------------
{
"secondString"
}-------------------------------------
{
"secondString"
}
-------------------------------------
-------------------------------------
{
"thirdString"
}-------------------------------------
-------------------------------------
-------------------------------------
{
"fourthString"
}-------------------------------------
-------------------------------------
-------------------------------------
{
"fifthString"
}-------------------------------------
-------------------------------------
-------------------------------------
{
"sixthString"
}-------------------------------------
-------------------------------------
-------------------------------------
{
"seventhString"
}-------------------------------------
-------------------------------------
-------------------------------------
{
"eighthString"
}-------------------------------------
-------------------------------------
-------------------------------------
{
"secondString"
}-------------------------------------
Based on this output I know that day is being constructed correctly but for some reason isn't assigned to an index in Combo (except "secondString") Does anyone know what's going on?
Ideally Combo would equal: {"secondString", "thirdString", ... "eighthString"}