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/