
К сожалению нет. Код для декодирования Map начинается с Map<String, dynamic> и добавляет значения по мере их чтения, поэтому нет возможности сделать тип значения более конкретным.
Посмотрите на них другие варианты:
Map с правильным типом из любой исходной карты: https://api.dartlang.org/stable/2.1.0/dart-core/Map/Map.from.html - вы платите единовременную плату за копирование значений.Map - https://api.dartlang.org/stable/2.1.0/dart-core/Map/cast.html - без затрат на копирование, но вы оплачиваете накладные расходы на перенос / преобразование при каждом доступе к исходной карте
Поскольку синтаксический анализ
2без кавычек в виде строки будет нарушением спецификации JSON, синтаксический анализ JSON не сделает этого за вас. Похоже, вам нужно преобразовать карту. Вы можете сделать:var jsonMap = jsonDecode(...); Map<String, String> myMap = Map.fromEntries(jsonMap.entries.map((e) => MapEntry(e.key, "${e.value}")));.