Mapping JSON into Class Objects

If you want to get your JSON from a url do as follows:

import 'dart:convert';

_toObject() async {
  var url = 'YourJSONurl';
  var httpClient  = createHttpClient();
  var response =await httpClient.get(url);
  Map cardInfo = JSON.decode(response.body);
  var ci = new CardInfo.fromJson(cardInfo);
}

Please refer to the main answer if you want to know how to setup your class so that your JSON fields can be mapped to it. It is very helpful.


class CardInfo {
  //Constructor
  String id;
  String description;
  String role;
  int score;

  CardInfo.fromJson(Map json) {
    id = json['id'];
    description = json['description'];
    role = json['Role'];
    score = json['score'];
  }
}

var ci = new CardInfo.fromJson(myJson); 

You can use source generation tools like https://github.com/dart-lang/source_gen https://pub.dartlang.org/packages/json_serializable to generate the serialization and deserialization code for you.

If you prefer using immutable classes https://pub.dartlang.org/packages/built_value is a good bet.

Tags:

Json

Dart

Flutter