当我在 Flutter 中打印地图时,Flutter 中缺少双引号

When I print a Map in Flutter, double quotes are missing in Flutter

我在 flutter

中有一个 Map
Map<String, dynamic> map = {
  'key1': 'Dog',
  'key2': 'Chicken',
};

我需要这样打印地图,

   {
      "key1": "Dog",
      "key2": "Chicken"
    }

但我得到的日志打印的地图是这样的("缺少双引号"),

{
  key1: Dog,
  key2: Chicken
}

试试下面的代码希望对你有帮助。

你可以使用 JsonEncoder-class here

参考jsonEncode函数here

import 'dart:convert';

void main() {
  Map<String, dynamic> map = {
    'key1': 'Dog',
    'key2': 'Chicken',
  };

  print(JsonEncoder().convert(map));
}

你的结果:

{ 
  "key1":"Dog",
  "key2":"Chicken"
}

您可以使用以下任何一种方法。

Map<String, dynamic> map = {
  'key1': 'Dog',
  'key2': 'Chicken',
};
  
print(json.encode(map)); //approach - 1
print(JsonEncoder.withIndent('  ').convert(map)); //approach - 2

注意:不要忘记导入 dart:convert

正确的做法是使用 Dart 的 inspect() 函数,如下所示:

import 'dart:developer' as devtools show inspect;

const map = {
  'key1': 'Dog',
  'key2': 'Chicken',
};

void testIt() {
  devtools.inspect(map);
}