flutter - Flutter如何显示数组中数组的值

标签 flutter dart

flutter 如何显示数组的数组数据。
我的数据看起来像这样

I/flutter ( 7557): {count: 1, 
records: [{
 cnic: 42501-0978008-5,
 name: abc 
 family_members: [{
  gender: F, 
  name: Dua Batool, 
  age: 8, 
  relationship: Daughter
}, 
{
  gender: M, 
  name: Shayan, 
  age: 9, 
  relationship: Son
}
]}]}
我需要做的是打印“家庭成员”数组的名称。
我的代码是这样
 Future<List> doSomeAsyncStuff() async {

    final storage = new FlutterSecureStorage();
    String value = await storage.read(key: 'Cnic');
    print(value);

    String url = 'http://api.igiinsurance.com.pk:8888/insurance_IgiGen/insurance-api/get_company_employee.php?offset=0&limit=1&cnic=${value}' ;
    final msg = jsonEncode({"cnic": value});
    Map<String,String> headers = {'Content-Type':'application/json'};

    String token = value;
    final response = await http.get(url);

    var Data = json.decode(response.body);
    print(Data);
  }
如其在问题上方所示,它的打印数据值是,我需要打印家庭成员的姓名。我知道它的愚蠢问题,但无法打印Familymembers数组的名称

最佳答案

您可以这样做:

Future<List> doSomeAsyncStuff() async {

    final storage = new FlutterSecureStorage();
    String value = await storage.read(key: 'Cnic');
    print(value);

    String url = 'http://api.igiinsurance.com.pk:8888/insurance_IgiGen/insurance-api/get_company_employee.php?offset=0&limit=1&cnic=${value}' ;
    final msg = jsonEncode({"cnic": value});
    Map<String,String> headers = {'Content-Type':'application/json'};

    String token = value;
    final response = await http.get(url);

    var data = json.decode(response.body);
    print(data);

    var familyMembers = data["records"][0]["familyMembers"]
    print(familyMembers);
    for (var familyMember in familyMembers){ //prints the name of each family member
            var familyMemberName = familyMember["name"];
            print(familyMemberName);
  }
如果记录列表中有多个项目,则可以使用循环并打印每个familyMember:
Future<List> doSomeAsyncStuff() async {

    final storage = new FlutterSecureStorage();
    String value = await storage.read(key: 'Cnic');
    print(value);

    String url = 'http://api.igiinsurance.com.pk:8888/insurance_IgiGen/insurance-api/get_company_employee.php?offset=0&limit=1&cnic=${value}' ;
    final msg = jsonEncode({"cnic": value});
    Map<String,String> headers = {'Content-Type':'application/json'};

    String token = value;
    final response = await http.get(url);

    var data = json.decode(response.body);
    print(data);
    var recordsList = data["records"];
    for (var record in recordsList){
        var familyMembers = record["familyMembers"]
        print(familyMembers);
        for (var familyMember in familyMembers){ //prints the name of each family member
            var familyMemberName = familyMember["name"];
            print(familyMemberName);
    }
  }

关于flutter - Flutter如何显示数组中数组的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63763603/

相关文章:

flutter - 如何为子类属性提供与 Dart 中的父类(super class)不同的类型?

Flutter - 三元运算符中的小部件类

flutter - 当flutter的提供程序中的多个类型相同时,如何获取值?

从父自定义元素到子自定义元素属性的 Dart 数据绑定(bind)

dart - 如何在 Flutter 中进行公钥固定?

Flutter : Android Gradle plugin requires Java 11 to run. 您当前使用的是 Java 1.8

ios - Flutter 不会构建 iOS 版本 - 完成

android - 无法在 Flutter 中构建 .aab

flutter - 如何使用GetX存储保存和写入数据?

firebase - 如何消除实时数据库Firebase抖动中的自动生成的 key