Friday, August 26, 2022

.map() method in DART

 import 'dart:convert';

Welcome welcomeFromJson(String str) => Welcome.fromJson(json.decode(str));

void main() {
  Map<String, dynamic> json = {"items":[{"id":83,"description":"Test 1"}]};
  List myList = List<Item>.from(json["items"].map(myFunc));//(x) => Item.fromJson(x)));
  print(myList[0].eId);
  print(myList[0].eDescription);
}

myFunc(x) {
  print(x); // {id: 83, description: Test 1} // output of .map() method
  return Item.fromJson(x);
}

class Welcome {
    Welcome({
        required this.items,
    });

    List<Item> items;
 
    factory Welcome.fromJson(Map<String, dynamic> json) => Welcome(
        items: List<Item>.from(json["items"].map((x) => Item.fromJson(x))),
    );  
}

class Item {
    Item({
        this.eId,
        this.eDescription,
    });

    int? eId;
    String? eDescription;

    factory Item.fromJson(Map<String, dynamic> json) => Item(
        eId: json["id"],
        eDescription: json["description"],
    );
}

No comments:

Post a Comment