Проблема с преобразованием массива json в список во флаттере - PullRequest
0 голосов
/ 23 марта 2020

Я пытаюсь преобразовать массив, который содержится в списке во флаттер, я делаю первую веру, но во второй вере ничего не работает. Вот мой код.

  • Моя модель
@JsonSerializable(nullable: false)
 class Message {
   final int id;
   final String message;
   final String email;
   final String nom;
   final int to;
   final int from;


   Message({ this.id, this.message, this.email, this.nom, this.to, this.from});

   factory Message.fromJson(Map<String, dynamic> json) => _$MessageFromJson(json);


   Map<String, dynamic> toJson() => _$MessageToJson(this);
 }

  • Мое будущее
Future<List<Message>> getMessages(int id) async {
  var idRepository = new IdRepository();
  var token = idRepository.getId();
  List<Message> messages ;
  final response = await http.get(
    "$SERVER_IP/listmessage/$id",
    headers: {'Authorization': 'Bearer $token', 'Content-type': 'application/json',
      'Accept': 'application/json'},
  );

  if (response.statusCode == 200) {
    var data = json.decode(response.body) as List;
    print(data);
    messages = data.map<Message>((json) => Message.fromJson(json)).toList();
    return messages;
  } else {
    throw Exception('Erreur lors de la recuperation');
  }
}
  • Результат печати дротиком
[{id: 1, message: Bonjour, email: j, nom: f, to: 0, from: 1}]
js_primitives.dart:32 Another exception was thrown: Expected a value of type 'Message', but got one of type 'IdentityMap<String, dynamic>'
...