тип ‘_InternalLinkedHashMap’ не является подтипом типа ‘String’ в приведении типов

#json #http #post #dart #flutter

#json #http #Публикация #dart #flutter

Вопрос:

Я пытаюсь опубликовать вложенный объект JSON в API. Вот простой код, который я пытаюсь выполнить.

 Map m = {
   "email": 's@a.com',
   "password": "123",
   "billing" : {
      "first_name": "Samarth",
      "last_name": "Agarwal",
   }
};

final response = await http.post(url, body: m, headers: {
   "Content-Type": "application/json",
   "Accept": "application/json"
});
  

Я получаю сообщение об ошибке:
type '_InternalLinkedHashMap<dynamic, dynamic>' is not a subtype of type 'String' in type cast . Если я не передаю billing объект, который сам по себе является другой картой, то запрос успешно завершается.

Как я могу успешно отправить вложенный объект JSON в API с использованием HTTP в dart?

Ответ №1:

Вам нужно закодировать его в json с помощью json.encode(m) , а затем отправить это как тело.

Комментарии:

1. Это преобразует json в строку, если API не принимает строку. Я пробовал это.