Wie Deserialisieren eine Liste von Objekten, die aus json-in-flattern

Ich bin mit dem dart-Paket json_serializable für die json-Serialisierung. Blick auf das flattern Dokumentation zeigt, wie Deserialisieren ein einzelnes Objekt wie folgt:

Future<Post> fetchPost() async {
  final response =
  await http.get('https://jsonplaceholder.typicode.com/posts/1');

  if (response.statusCode == 200) {
  //If the call to the server was successful, parse the JSON
  return Post.fromJson(json.decode(response.body));
  } else {
    //If that call was not successful, throw an error.
    throw Exception('Failed to load post');
  }
}

Allerdings bin ich nicht vertraut genug mit dart, herauszufinden, wie zu tun die selben für Sie eine Liste der Elemente, statt eine einzige Instanz.

  • gut, es dekodiert die Antwort Körper, und übergibt es in die im wesentlichen eine POST-Konstruktor. Wenn Ihr dekodiert JSON ein array ist, müssen Sie die Schleife, die Sie und erstellen Sie eine Reihe von Posts. Ist es das, was Sie fordern? überprüfen Sie den Typ der zu decodieren, um sicherzustellen, es ist durchsuchbar und dann tun Sie so etwas wie: List<Post> posts = json.decode(response.body).map((Map m)=> Json.fromJson(m)).toList();
InformationsquelleAutor Gainz | 2018-06-27
Schreibe einen Kommentar