โพสต์อาร์เรย์โดยใช้ http ในการกระพือ
Oct 12 2020
ใครทราบวิธีการโพสต์อาร์เรย์โดยใช้http?
var headers = {"Accept": "application/json"};
var url = "https://...."
var response = await http.post(url,
body: {
....
},
commentListฉันมีพารามิเตอร์ที่มีชื่อว่า ฉันต้องการที่จะผ่านcomment[0], comment[1]... ร่างกายภายใน
ใช้for loopภายในร่างกายอย่างไร ???
for(var i in list){
"comments"+"["+index+"]" = i;
index ++;
}
นี่คือรหัสบุรุษไปรษณีย์และค่า
คำตอบ
BilalŞimşek Oct 12 2020 at 02:02
หากคุณต้องการรวมความคิดเห็นด้วยเหตุผลเฉพาะคุณสามารถทำได้เช่นนี้
List commentList = ['comment1','comment2','comment3'];
Map<String, dynamic> body;
รวมเข้าด้วยกัน:
String comments ='';
commentList.forEach((comment){
comments +=comment+' ';
});
body = {'combinedComments':comments};
จากนั้นโพสต์:
var headers = {"Accept": "application/json"};
var url = "https://...."
var response = await http.post(url,
body: this.body);
หรือใช้การเข้ารหัส json เพื่อแปลงรายการของคุณเป็นสตริง
Map<String,dynamic> body = {'comments' :jsonEncode(commentList)};
และใช้สิ่งนี้เป็นเนื้อหาในการโพสต์
Tony Oct 12 2020 at 14:25
ฉันจัดการแก้ไขแล้ว
int count = 0;
var url = "https://xxx";
var response = await http.post(url,
body: {
for (var i in list) 'comments[${count++}]':i,
....
},
headers: headers);