【问题标题】:Post array using http in flutter在颤振中使用http发布数组
【发布时间】:2021-01-26 02:51:51
【问题描述】:

有人知道如何使用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 ++; 
}

这里是邮递员的键和值

【问题讨论】:

  • 对该数组进行 JSON 化怎么样?
  • @raina77 有什么例子吗?
  • @raina77ow 我想将其发布为comment[0],comment[1]。提供的链接在我的情况下有效吗?
  • 只需在 jsonEncode @Tony 中传递整个数组

标签: flutter http dart


【解决方案1】:

如果您出于特定原因需要组合 cmets,您可以这样做。

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)};

并以此为正文发帖。

【讨论】:

    【解决方案2】:

    我设法修复它。

    int count = 0;
    
    var url = "https://xxx";
          var response = await http.post(url,
              body: {
                for (var i in list) 'comments[${count++}]':i,
                ....
              },
              headers: headers);
    

    【讨论】:

      猜你喜欢
      • 2021-11-29
      • 2020-06-26
      • 2020-04-22
      • 2018-08-09
      • 2019-12-19
      • 1970-01-01
      • 2020-07-23
      • 2021-08-18
      • 2021-03-31
      相关资源
      最近更新 更多