Post array en utilisant http en flutter
Oct 12 2020
Quelqu'un sait comment publier un tableau en utilisant http?
var headers = {"Accept": "application/json"};
var url = "https://...."
var response = await http.post(url,
body: {
....
},
J'ai un param nommé commentList. J'ai besoin de passer comment[0], comment[1]... à l'intérieur du corps.
Comment utiliser for loopà l'intérieur du corps ???
for(var i in list){
"comments"+"["+index+"]" = i;
index ++;
}
Voici la clé et la valeur du facteur
Réponses
BilalŞimşek Oct 12 2020 at 02:02
si vous avez besoin de combiner des commentaires pour une raison spécifique, vous pouvez faire comme ceci.
List commentList = ['comment1','comment2','comment3'];
Map<String, dynamic> body;
combinez-les:
String comments ='';
commentList.forEach((comment){
comments +=comment+' ';
});
body = {'combinedComments':comments};
puis poster:
var headers = {"Accept": "application/json"};
var url = "https://...."
var response = await http.post(url,
body: this.body);
ou utilisez simplement json encode pour convertir votre liste en chaîne;
Map<String,dynamic> body = {'comments' :jsonEncode(commentList)};
et utilisez-le comme corps pour poster.
Tony Oct 12 2020 at 14:25
J'ai réussi à le réparer.
int count = 0;
var url = "https://xxx";
var response = await http.post(url,
body: {
for (var i in list) 'comments[${count++}]':i,
....
},
headers: headers);