当前位置: 首页 > 知识库问答 >
问题:

Flutter:在Map()中使用字符串和布尔值

郜俊健
2023-03-14

在Map中同时使用字符串和布尔值返回以下错误,如何同时使用两个值?。

var bodyValues = new Map<String, dynamic>();
bodyValues['accountName'] = accountName;
bodyValues['customerEmail'] = customerEmail;
bodyValues['getAllAvailableBanks'] = false;


final http.Response response = await http.post(
    'https:url',
    body: bodyValues,
   headers:headerValues
);

共有1个答案

邹涵畅
2023-03-14

通过查看HTTP包的代码,可以清楚地看出,如果将map作为body提供,那么它必须是map 。您可以在这里看到强制转换发生的位置:

  @override
  Future<Response> post(Uri url,
          {Map<String, String>? headers, Object? body, Encoding? encoding}) =>
      _sendUnstreamed('POST', url, headers, body, encoding);
...

  /// Sends a non-streaming [Request] and returns a non-streaming [Response].
  Future<Response> _sendUnstreamed(
      String method, Uri url, Map<String, String>? headers,
      [body, Encoding? encoding]) async {
    var request = Request(method, url);

    if (headers != null) request.headers.addAll(headers);
    if (encoding != null) request.encoding = encoding;
    if (body != null) {
      if (body is String) {
        request.body = body;
      } else if (body is List) {
        request.bodyBytes = body.cast<int>();
      } else if (body is Map) {
        request.bodyFields = body.cast<String, String>();
      } else {
        throw ArgumentError('Invalid request body "$body".');
      }
    }

    return Response.fromStream(await send(request));
  }

https://github.com/dart-lang/http/blob/e89b190936d53d0e36148436283e28ba1091b35a/lib/src/base_client.dart#l87

 类似资料:
  • 我当时在做一个计算机科学测试,并尝试了这个问题。 据我所知,我认为打印输出是假的,因为据我所知,字符串只能与。等于()。但我弄错了。它说答案是假的,是真的。有人能解释一下原因吗?

  • 我正在尝试这个代码编写练习,我太迷路了! 它甚至不编译,但即使它编译了,我肯定它也不会工作。

  • 问题内容: 我可以将表示布尔值(例如,“ true”,“ false”)的字符串转换为JavaScript中的固有类型吗? 我有一个隐藏的HTML表单,可根据用户在列表中的选择进行更新。此表单包含一些表示布尔值的字段,并使用内部布尔值动态填充。但是,一旦将此值放入隐藏的输入字段中,它将成为一个字符串。 确定字段的布尔值(将其转换为字符串后)的唯一方法是依赖于其字符串表示形式的文字值。 有没有更好的

  • 问题内容: 我想转换一个叫到(或使用),但它不能做的工作。Go中惯用的方式是什么? 问题答案: 使用strconv包 docs func FormatBool(b bool)字符串Formatbool 根据b的值返回“ true”或“ false”

  • 问题内容: 我如何布尔计算包含布尔表达式的字符串?喜欢: 用户应该能够定义自己的变量(),并定义自己的布尔表达式()。因此,我将所有表达式仅作为字符串使用。我如何评估它们? 问题答案: 您可以使用Nambari评论的ScriptEngine: 打印0。 还要注意,该表达式不是布尔表达式,而是按位运算。

  • 我将数据存储在firestore中,我想使用子字符串查询它。如何在flutter中使用BLoC执行搜索?我正在使用Firestore,我需要从它的子字符串搜索一些项目。 我不明白如何正确地执行搜索。你能和我分享一些有指南或例子的链接吗?