โพสต์อาร์เรย์โดยใช้ 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);