Http Dart-发送列表中的GET参数

Http Dart-发送列表中的GET参数,http,flutter,dart,Http,Flutter,Dart,我想在dart中通过http GET请求发送参数。这里的第一个答案很好地说明了这一点: 但是,一个主要问题是queryParameters只接受: Map<String, String> 但是,当我在服务器中接收到方括号[]时,它总是转换为%5B%5D 感谢您的帮助。 谢谢事实上,queryParameter接受Map。检查源代码: factory Uri( {String scheme, String userInfo, String ho

我想在dart中通过http GET请求发送参数。这里的第一个答案很好地说明了这一点:

但是,一个主要问题是queryParameters只接受:

Map<String, String>
但是,当我在服务器中接收到方括号[]时,它总是转换为%5B%5D

感谢您的帮助。
谢谢

事实上,
queryParameter
接受
Map
。检查源代码:

  factory Uri(
      {String scheme,
      String userInfo,
      String host,
      int port,
      String path,
      Iterable<String> pathSegments,
      String query,
      Map<String, dynamic /*String|Iterable<String>*/ > queryParameters,
      String fragment}) = _Uri;
印刷品:

http://www.myurl.com/api/query/?array=value1&array=value2&array=value3

实际上,
queryParameter
采用
Map
。检查源代码:

  factory Uri(
      {String scheme,
      String userInfo,
      String host,
      int port,
      String path,
      Iterable<String> pathSegments,
      String query,
      Map<String, dynamic /*String|Iterable<String>*/ > queryParameters,
      String fragment}) = _Uri;
印刷品:

http://www.myurl.com/api/query/?array=value1&array=value2&array=value3

对于PHP服务器来说,
[]
后缀是个难题。服务器不接受URL编码的表单吗?(URL中唯一允许使用未替换括号的地方是IPv6地址。)哎呀,我刚刚删除了我的评论,因为我意识到我的服务器将%5B%5D读作[]。所以现在一切都很顺利。感谢您的帮助,
[]
后缀是PHP服务器的一大难题。服务器不接受URL编码的表单吗?(URL中唯一允许使用未替换括号的地方是IPv6地址。)哎呀,我刚刚删除了我的评论,因为我意识到我的服务器将%5B%5D读作[]。所以现在一切都很顺利。谢谢你的帮助
  factory Uri(
      {String scheme,
      String userInfo,
      String host,
      int port,
      String path,
      Iterable<String> pathSegments,
      String query,
      Map<String, dynamic /*String|Iterable<String>*/ > queryParameters,
      String fragment}) = _Uri;
  var uri = Uri(
    scheme: 'http',
    host: 'www.myurl.com',
    path: '/api/query/',
    queryParameters: {
      'array': ['value1', 'value2', 'value3'],
    },
  );
  print(uri);
http://www.myurl.com/api/query/?array=value1&array=value2&array=value3