Как передать элемент ArrayList в тело http-запроса (post) в Flutter?

#json #flutter #api #dart

Вопрос:

У меня есть список ArrayList, в котором хранятся данные из моего API List<GetTestFeeMap> reponseArray =[]; // Storing API response

Затем добавьте данные в мой Arraylist reponseArray.add(getTestFeeObj!);

Теперь пытаюсь достать каждого encTestId . Но его просто дают только первое значение (очевидно). Я хочу передать все encTestId (в тело http), которое, возможно, есть в моем списке (разделено запятой).

  getTestFeeObj=GetTestFeeMap.fromJson(jsonResponse);
              for (var i = 0; i < reponseArray.length; i  ) {
                    eNcTestIdInList=(reponseArray[i].encTestId)!;
                    }
 

Затем переходим в мое тело http-запроса

   body: ({

        'EncDoctorId'   : eNcTestIdInList,
     )}
 

Пример правильного тела у почтальона

 {
"EncDoctorId": "I3uXyzcuDZf21SSe5fHnSQ==,7Ch2aVnhokZtRWyJtuDA/A==",   // 2 encTestId 
}
        
 

Я надеюсь, вы поняли мою проблему.

Ответ №1:

Используйте это:

 eNcTestIdInList =(reponseArray[i].encTestId);
if (i < reponseArray.length -1) eNcTestIdInList = ",";
 

Комментарии:

1. это показывает The method 'add' isn't defined for the type 'String'. , что я вставляю вот так внутри forloop ` eNcTestIdInList=eNcTestIdInList.add(повторите[i].encTestId);`

2. О, не знал, что это строка, попробуй теперь, я отредактировал свой ответ

3. Ответ Api не удался {"Status":"0","Message":"Wrong operation","EncBookingId":null} , я верю в это, потому что он добавляет строку (A b)= AB . Вместо этого он должен быть разделен, comma(,) как в примере с моим телом "EncDoctorId": "I3uXyzcuDZf21SSe5fHnSQ==,7Ch2aVnhokZtRWyJtuDA/A==",

4. Я печатаю его eNcTestIdInList в своей консоли: I3uXyzcuDZf21SSe5fHnSQ==I3uXyzcuDZf21SSe5fHnSQ==7Ch2aVnhokZtRWyJtuDA/A== он складывает целую строку . Как я могу отделить их запятой?