Related
Below is the response how to get this data in flutter.I wants to get image file path of all fields like aadhaar,pan card and business ownership proof. I needs to know how to get the response when it is structured like this?
{
"data": {
"pan": {
"verified": true,
"status": "Approve",
"comment": "ok",
"holder": "VISHWAJEET VIJAY KOLAPKAR",
"number": "DYPPK8990B",
"files": [...,...]
},
"aadhar": {
"verified": true,
"status": "Approved",
"comment": "ok",
"holder": "",
"number": "000000001112",
"address": "",
"dob": "Not available on aadhaar",
"gender": "MALE",
"files": [...,...]
},
"mobile": {
"verified": true,
"status": "In-Progress",
"comment": "",
"number": "9527796311",
"countryCode": "91",
"holder": "Aniket Ratnakar Baviskar",
"address": "Plot no.57,, Margashirsh sector, Datt chouk, Cidco, Nashik, Mh-422009",
"email": "baviskaranu#gmail.com"
},
"faceMatch": {
"verified": "true",
"status": "In-Progress",
"comment": "",
"holder": "Vodafone Vk",
"matchPercentage": "100.00%",
"message": "Verification completed with positive result",
"dob": "NA",
"files": [...,...]
},
"address": {
"status": "Approved",
"comment": "ok",
"verified": false,
"files": [...,...]
},
"bankStatement": {
"comment": "ok",
"status": "Approved",
"verified": false,
"files": [...,...]
},
"business": {
"documentNumber": "8877",
"documentType": "Board Resolution (for companies)",
"status": "Approved",
"verified": false,
"files": [...,...]
},
"financial": {
"comment": "ok",
"status": "Approved",
"verified": false,
"files": [...,...]
},
"gst": {
"verified": false,
"files": [...,...]
},
"ownership": {
"documentNumber": "55555",
"documentType": "Electricity Bill",
"status": "Approved",
"verified": false,
"files": [...,...]
},
"partnership": {
"comment": "ok",
"status": "Approved",
"verified": false,
"files": [...,...]
},
"vintage": {
"status": "Approved",
"verified": false,
"files": [...,...]
},
"storeImages": {
"comment": "ok",
"status": "Approved",
"verified": false,
"files": [...,...]
}
},
"status": true
}
after you get the data pass it to this function
final yourModel = yourModelFromMap(jsonString);
it will parse json to this object
and you can use it like
yourModel.data.<any value you want>
.
import 'dart:convert';
YourModel yourModelFromMap(String str) => YourModel.fromMap(json.decode(str));
String yourModelToMap(YourModel data) => json.encode(data.toMap());
class YourModel {
YourModel({
required this.data,
required this.status,
});
Data data;
bool status;
factory YourModel.fromMap(Map<String, dynamic> json) => YourModel(
data: Data.fromMap(json["data"]),
status: json["status"],
);
Map<String, dynamic> toMap() => {
"data": data.toMap(),
"status": status,
};
}
class Data {
Data({
required this.pan,
required this.aadhar,
required this.mobile,
required this.faceMatch,
required this.address,
required this.bankStatement,
required this.business,
required this.financial,
required this.gst,
required this.ownership,
required this.partnership,
required this.vintage,
required this.storeImages,
});
Pan pan;
Aadhar aadhar;
Mobile mobile;
FaceMatch faceMatch;
Address address;
Address bankStatement;
Business business;
Address financial;
Gst gst;
Business ownership;
Address partnership;
Vintage vintage;
Address storeImages;
factory Data.fromMap(Map<String, dynamic> json) => Data(
pan: Pan.fromMap(json["pan"]),
aadhar: Aadhar.fromMap(json["aadhar"]),
mobile: Mobile.fromMap(json["mobile"]),
faceMatch: FaceMatch.fromMap(json["faceMatch"]),
address: Address.fromMap(json["address"]),
bankStatement: Address.fromMap(json["bankStatement"]),
business: Business.fromMap(json["business"]),
financial: Address.fromMap(json["financial"]),
gst: Gst.fromMap(json["gst"]),
ownership: Business.fromMap(json["ownership"]),
partnership: Address.fromMap(json["partnership"]),
vintage: Vintage.fromMap(json["vintage"]),
storeImages: Address.fromMap(json["storeImages"]),
);
Map<String, dynamic> toMap() => {
"pan": pan.toMap(),
"aadhar": aadhar.toMap(),
"mobile": mobile.toMap(),
"faceMatch": faceMatch.toMap(),
"address": address.toMap(),
"bankStatement": bankStatement.toMap(),
"business": business.toMap(),
"financial": financial.toMap(),
"gst": gst.toMap(),
"ownership": ownership.toMap(),
"partnership": partnership.toMap(),
"vintage": vintage.toMap(),
"storeImages": storeImages.toMap(),
};
}
class Aadhar {
Aadhar({
required this.verified,
required this.status,
required this.comment,
required this.holder,
required this.number,
required this.address,
required this.dob,
required this.gender,
required this.files,
});
bool verified;
String status;
String comment;
String holder;
String number;
String address;
String dob;
String gender;
List<dynamic> files;
factory Aadhar.fromMap(Map<String, dynamic> json) => Aadhar(
verified: json["verified"],
status: json["status"],
comment: json["comment"],
holder: json["holder"],
number: json["number"],
address: json["address"],
dob: json["dob"],
gender: json["gender"],
files: List<dynamic>.from(json["files"].map((x) => x)),
);
Map<String, dynamic> toMap() => {
"verified": verified,
"status": status,
"comment": comment,
"holder": holder,
"number": number,
"address": address,
"dob": dob,
"gender": gender,
"files": List<dynamic>.from(files.map((x) => x)),
};
}
class Address {
Address({
required this.status,
required this.comment,
required this.verified,
required this.files,
});
String status;
String comment;
bool verified;
List<dynamic> files;
factory Address.fromMap(Map<String, dynamic> json) => Address(
status: json["status"],
comment: json["comment"],
verified: json["verified"],
files: List<dynamic>.from(json["files"].map((x) => x)),
);
Map<String, dynamic> toMap() => {
"status": status,
"comment": comment,
"verified": verified,
"files": List<dynamic>.from(files.map((x) => x)),
};
}
class Business {
Business({
required this.documentNumber,
required this.documentType,
required this.status,
required this.verified,
required this.files,
});
String documentNumber;
String documentType;
String status;
bool verified;
List<dynamic> files;
factory Business.fromMap(Map<String, dynamic> json) => Business(
documentNumber: json["documentNumber"],
documentType: json["documentType"],
status: json["status"],
verified: json["verified"],
files: List<dynamic>.from(json["files"].map((x) => x)),
);
Map<String, dynamic> toMap() => {
"documentNumber": documentNumber,
"documentType": documentType,
"status": status,
"verified": verified,
"files": List<dynamic>.from(files.map((x) => x)),
};
}
class FaceMatch {
FaceMatch({
required this.verified,
required this.status,
required this.comment,
required this.holder,
required this.matchPercentage,
required this.message,
required this.dob,
required this.files,
});
String verified;
String status;
String comment;
String holder;
String matchPercentage;
String message;
String dob;
List<dynamic> files;
factory FaceMatch.fromMap(Map<String, dynamic> json) => FaceMatch(
verified: json["verified"],
status: json["status"],
comment: json["comment"],
holder: json["holder"],
matchPercentage: json["matchPercentage"],
message: json["message"],
dob: json["dob"],
files: List<dynamic>.from(json["files"].map((x) => x)),
);
Map<String, dynamic> toMap() => {
"verified": verified,
"status": status,
"comment": comment,
"holder": holder,
"matchPercentage": matchPercentage,
"message": message,
"dob": dob,
"files": List<dynamic>.from(files.map((x) => x)),
};
}
class Gst {
Gst({
required this.verified,
required this.files,
});
bool verified;
List<dynamic> files;
factory Gst.fromMap(Map<String, dynamic> json) => Gst(
verified: json["verified"],
files: List<dynamic>.from(json["files"].map((x) => x)),
);
Map<String, dynamic> toMap() => {
"verified": verified,
"files": List<dynamic>.from(files.map((x) => x)),
};
}
class Mobile {
Mobile({
required this.verified,
required this.status,
required this.comment,
required this.number,
required this.countryCode,
required this.holder,
required this.address,
required this.email,
});
bool verified;
String status;
String comment;
String number;
String countryCode;
String holder;
String address;
String email;
factory Mobile.fromMap(Map<String, dynamic> json) => Mobile(
verified: json["verified"],
status: json["status"],
comment: json["comment"],
number: json["number"],
countryCode: json["countryCode"],
holder: json["holder"],
address: json["address"],
email: json["email"],
);
Map<String, dynamic> toMap() => {
"verified": verified,
"status": status,
"comment": comment,
"number": number,
"countryCode": countryCode,
"holder": holder,
"address": address,
"email": email,
};
}
class Pan {
Pan({
required this.verified,
required this.status,
required this.comment,
required this.holder,
required this.number,
required this.files,
});
bool verified;
String status;
String comment;
String holder;
String number;
List<dynamic> files;
factory Pan.fromMap(Map<String, dynamic> json) => Pan(
verified: json["verified"],
status: json["status"],
comment: json["comment"],
holder: json["holder"],
number: json["number"],
files: List<dynamic>.from(json["files"].map((x) => x)),
);
Map<String, dynamic> toMap() => {
"verified": verified,
"status": status,
"comment": comment,
"holder": holder,
"number": number,
"files": List<dynamic>.from(files.map((x) => x)),
};
}
class Vintage {
Vintage({
required this.status,
required this.verified,
required this.files,
});
String status;
bool verified;
List<dynamic> files;
factory Vintage.fromMap(Map<String, dynamic> json) => Vintage(
status: json["status"],
verified: json["verified"],
files: List<dynamic>.from(json["files"].map((x) => x)),
);
Map<String, dynamic> toMap() => {
"status": status,
"verified": verified,
"files": List<dynamic>.from(files.map((x) => x)),
};
}
I have an api result in this format
{
"response": true,
"message": "success",
"data": {
"message": "Values fetched",
"content": [
{
"id": 5,
"name": "Car 5",
"make": "Make 5",
"created_at": "2022-06-11T12:13:48.000000Z",
"updated_at": "2022-06-11T12:13:48.000000Z"
},
{
"id": 6,
"name": "Car 6",
"make": "Make 6",
"created_at": "2022-06-11T12:13:48.000000Z",
"updated_at": "2022-06-11T12:13:48.000000Z"
}
]
}
}
I am trying to make them into a list option for smart_select package and I need to convert the result to List<Map<String, String>>
So far, I get these error Unhandled Exception: type 'List<dynamic>' is not a subtype of type 'List<Map<String, dynamic>>' and this when I hot refresh Unhandled Exception: type 'List<Map<String, dynamic>>' is not a subtype of type 'List<Map<String, String>>' and lastly Unhandled Exception: type '_InternalLinkedHashMap<String, dynamic>' is not a subtype of type 'Map<String, String>' in type cast when I change dynamic to string with this code and I don't know how to convert to List<Map<String, dynamic>>
This is my code below from api
if (response.statusCode == 200) {
List<Map<String, String>> values = (convert.jsonDecode(reply)['data']['content'] as List).map((e) => e as Map<String, dynamic>)?.toList();
}
Try to use this model
import 'dart:convert';
CarsDataModel carsDataModelFromJson(String str) => CarsDataModel.fromJson(json.decode(str));
String carsDataModelToJson(CarsDataModel data) => json.encode(data.toJson());
class CarsDataModel {
CarsDataModel({
this.response,
this.message,
this.data,
});
bool response;
String message;
Data data;
factory CarsDataModel.fromJson(Map<String, dynamic> json) => CarsDataModel(
response: json["response"],
message: json["message"],
data: Data.fromJson(json["data"]),
);
Map<String, dynamic> toJson() => {
"response": response,
"message": message,
"data": data.toJson(),
};
}
class Data {
Data({
this.message,
this.content,
});
String message;
List<Content> content;
factory Data.fromJson(Map<String, dynamic> json) => Data(
message: json["message"],
content: List<Content>.from(json["content"].map((x) => Content.fromJson(x))),
);
Map<String, dynamic> toJson() => {
"message": message,
"content": List<dynamic>.from(content.map((x) => x.toJson())),
};
}
class Content {
Content({
this.id,
this.name,
this.make,
this.createdAt,
this.updatedAt,
});
int id;
String name;
String make;
DateTime createdAt;
DateTime updatedAt;
factory Content.fromJson(Map<String, dynamic> json) => Content(
id: json["id"],
name: json["name"],
make: json["make"],
createdAt: DateTime.parse(json["created_at"]),
updatedAt: DateTime.parse(json["updated_at"]),
);
Map<String, dynamic> toJson() => {
"id": id,
"name": name,
"make": make,
"created_at": createdAt.toIso8601String(),
"updated_at": updatedAt.toIso8601String(),
};
}
I got error
invalid argument(s): No host specified in URI file:///upload/subject/Account.png
I got other all data from api but when I fetch an image it throws above error.
Json response as below.
{
"success": 1,
"subject": [
{
"subject_id": "5e32874c714fa",
"subject_name": "Account",
"image": "upload/subject/Account.png",
"active": "1",
"standard_id": "5d1594e283e1a",
"medium_id": "5d15938aa1344"
},
{
"subject_id": "5da9ff659fb7c",
"subject_name": "Biology",
"image": "upload/subject/03_logo-1164x484.png",
"active": "1",
"standard_id": "5d1594e283e1a",
"medium_id": "5d15938aa1344"
},
{
"subject_id": "5da9ff990b1c6",
"subject_name": "Chemisty",
"image": "upload/subject/02_logo-1168x490.png",
"active": "1",
"standard_id": "5d1594e283e1a",
"medium_id": "5d15938aa1344"
},
{
"subject_id": "5de76afbd064e",
"subject_name": "Computer",
"image": "upload/subject/07_logo-1169x486.png",
"active": "1",
"standard_id": "5d1594e283e1a",
"medium_id": "5d15938aa1344"
},
{
"subject_id": "5d788906c431b",
"subject_name": "Devsatya Paperset March 2020",
"image": "upload/subject/04_logo-1174x491.png",
"active": "1",
"standard_id": "5d1594e283e1a",
"medium_id": "5d15938aa1344"
}
]
}
And i created Model Class from app.quicktype.io/ as below.
// To parse this JSON data, do
//
// final subjectByUser = subjectByUserFromJson(jsonString);
import 'dart:convert';
SubjectByUser subjectByUserFromJson(String str) => SubjectByUser.fromJson(json.decode(str));
String subjectByUserToJson(SubjectByUser data) => json.encode(data.toJson());
class SubjectByUser {
SubjectByUser({
this.success,
this.subject,
});
int success;
List<Subject> subject;
factory SubjectByUser.fromJson(Map<String, dynamic> json) => SubjectByUser(
success: json["success"],
subject: List<Subject>.from(json["subject"].map((x) => Subject.fromJson(x))),
);
Map<String, dynamic> toJson() => {
"success": success,
"subject": List<dynamic>.from(subject.map((x) => x.toJson())),
};
}
class Subject {
Subject({
this.subjectId,
this.subjectName,
this.image,
this.active,
this.standardId,
this.mediumId,
});
String subjectId;
String subjectName;
String image;
String active;
String standardId;
String mediumId;
factory Subject.fromJson(Map<String, dynamic> json) => Subject(
subjectId: json["subject_id"],
subjectName: json["subject_name"],
image: json["image"],
active: json["active"],
standardId: json["standard_id"],
mediumId: json["medium_id"],
);
Map<String, dynamic> toJson() => {
"subject_id": subjectId,
"subject_name": subjectName,
"image": image,
"active": active,
"standard_id": standardId,
"medium_id": mediumId,
};
}
The Function as below.
Future<List<Subject>> getSubjectByUser() async {
final subjectUrl =
'$baseUrl/subject/get_by_user_plan?user_id=609cab2cd5b6c&order_id=1620889722609cd07a601af469889697609cab2cd5b6c&standard_id=5d1594e283e1a&medium_id=5d15938aa1344';
final response = await http.get(Uri.parse(subjectUrl));
if (response.statusCode == 200) {
final subjectData = subjectByUserFromJson(response.body);
final List<Subject> subjects = subjectData.subject;
return subjects;
} else {
return <Subject>[];
}
}
And View code as below.
return ListView.builder(
itemCount: null == _subjects ? 0 : _subjects.length,
//itemCount: _subjects.length,
itemBuilder: (context, index) {
Subject subject = _subjects[index];
return Card(
child: ListTile(
leading: Image.network(subject.image),
title: Text(subject.subjectName),
),
);
});
So how can i get image in list view?
In network image, you just called subject.image that means you call "upload/subject/02_logo-1168x490.png" but you missed adding base url. And you must use shrinkWrap: true under ListView.builder
ListTile(
leading: Image.network("$baseUrl/$"subject.image"),// here will be changed need
title: Text(subject.subjectName),
),
yes it works. Thenk you for your Help.....
It works for me as.
child: Image.network("$imageUrl" + subject.image),
I am tried to display data in listview.
I have Json Response as below.
[
{
"success": 1,
"subject": [
{
"subject_id": "5e32874c714fa",
"subject_name": "Account",
"image": "upload/subject/Account.png",
"active": "1",
"standard_id": "5d1594e283e1a",
"medium_id": "5d15938aa1344"
},
{
"subject_id": "5da9ff659fb7c",
"subject_name": "Biology",
"image": "upload/subject/03_logo-1164x484.png",
"active": "1",
"standard_id": "5d1594e283e1a",
"medium_id": "5d15938aa1344"
},
{
"subject_id": "5da9ff990b1c6",
"subject_name": "Chemisty",
"image": "upload/subject/02_logo-1168x490.png",
"active": "1",
"standard_id": "5d1594e283e1a",
"medium_id": "5d15938aa1344"
},
{
"subject_id": "5de76afbd064e",
"subject_name": "Computer",
"image": "upload/subject/07_logo-1169x486.png",
"active": "1",
"standard_id": "5d1594e283e1a",
"medium_id": "5d15938aa1344"
},
{
"subject_id": "5d788906c431b",
"subject_name": "Devsatya Paperset March 2020",
"image": "upload/subject/04_logo-1174x491.png",
"active": "1",
"standard_id": "5d1594e283e1a",
"medium_id": "5d15938aa1344"
}
]
}
]
as above response i create a model class as below
// To parse this JSON data, do
//
// final subjectByUser = subjectByUserFromJson(jsonString);
import 'dart:convert';
List<SubjectByUser> subjectByUserFromJson(String str) =>
List<SubjectByUser>.from(
json.decode(str).map((x) => SubjectByUser.fromJson(x)));
String subjectByUserToJson(List<SubjectByUser> data) =>
json.encode(List<dynamic>.from(data.map((x) => x.toJson())));
class SubjectByUser {
SubjectByUser({
required this.success,
required this.subject,
});
int success;
List<Subject> subject;
factory SubjectByUser.fromJson(Map<String, dynamic> json) => SubjectByUser(
success: json["success"],
subject:
List<Subject>.from(json["subject"].map((x) => Subject.fromJson(x))),
);
Map<String, dynamic> toJson() => {
"success": success,
"subject": List<dynamic>.from(subject.map((x) => x.toJson())),
};
}
class Subject {
Subject({
required this.subjectId,
required this.subjectName,
required this.image,
required this.active,
required this.standardId,
required this.mediumId,
});
String subjectId;
String subjectName;
String image;
String active;
String standardId;
String mediumId;
factory Subject.fromJson(Map<String, dynamic> json) => Subject(
subjectId: json["subject_id"],
subjectName: json["subject_name"],
image: json["image"],
active: json["active"],
standardId: json["standard_id"],
mediumId: json["medium_id"],
);
Map<String, dynamic> toJson() => {
"subject_id": subjectId,
"subject_name": subjectName,
"image": image,
"active": active,
"standard_id": standardId,
"medium_id": mediumId,
};
}
I write below code, now how can i display subjects data like subjectName, image, etc in list view?
in print i can get the subject name on index 3.
Future getUserSubject(List subject) async {
final subjectUrl =
"$baseUrl/subject/get_by_user_plan?user_id=609cab2cd5b6c&order_id=1620889722609cd07a601af469889697609cab2cd5b6c&standard_id=5d1594e283e1a&medium_id=5d15938aa1344";
final response = await http.get(Uri.parse(subjectUrl));
final subjects = response.body;
final decodedData = jsonDecode(subjects);
SubjectByUserModel subjectByUserModel =
SubjectByUserModel.fromJson(decodedData);
print(subjectByUserModel.subject?[2].subjectName);
}
I put all codes in separate file also view
You can use ListView.builder
ListView.builder(
itemCount: subjectByUserModel.subject ?? 0,
itemBuilder: (BuildContext context, int index) {
print(subjectByUserModel.subject?[index].subjectName);
print(subjectByUserModel.subject?[index].standardId); // so on
// Now you can build any widget for per subject.
// like card, listTile or simple text.
return Text('');
});
I am trying to get data from a local API into my project, i am facing the following problem:
Unhandled Exception: type 'List' is not a subtype of type 'Map<String, dynamic>'
// To parse this JSON data, do
//
// final toDo = toDoFromJson(jsonString);
import 'dart:convert';
import 'package:http/http.dart' as http;
ToDo toDoFromJson(String str) => ToDo.fromJson(json.decode(str));
String toDoToJson(ToDo data) => json.encode(data.toJson());
class ToDo {
ToDo({
required this.id,
required this.img,
required this.name,
required this.title,
required this.done,
required this.note,
required this.priority,
required this.dueDate,
required this.taskOwner,
required this.studentId,
required this.createdAt,
required this.updatedAt,
});
int id;
String img;
String name;
String title;
int done;
String note;
String priority;
String dueDate;
int taskOwner;
String studentId;
String createdAt;
String updatedAt;
factory ToDo.fromJson(Map<String, dynamic> json) => ToDo(
id: json["id"],
img: json["img"],
name: json["name"],
title: json["title"],
done: json["done"],
note: json["note"],
priority: json["priority"],
dueDate: json["due_date"],
taskOwner: json["TaskOwner"],
studentId: json["studentId"],
createdAt: json["createdAt"],
updatedAt: json["updatedAt"],
);
Map<String, dynamic> toJson() => {
"id": id,
"img": img,
"name": name,
"title": title,
"done": done,
"note": note,
"priority": priority,
"due_date": dueDate,
"TaskOwner": taskOwner,
"studentId": studentId,
"createdAt": createdAt,
"updatedAt": updatedAt,
};
}
Future<List<ToDo>> fetchTodos() async {
final response =
await http.get(Uri.parse('http://localhost:3000/task/all/1'));
if (response.statusCode == 200) {
final List<ToDo> todo = toDoFromJson(response.body) as List<ToDo>;
print(todo);
return todo;
} else {
print("nothing found");
return [];
}
}
Json from API is as below:
{
"id": 1,
"img": "assets/images/user/user1.jpg",
"name": "task 1",
"title": "eee",
"done": 0,
"note": "eee",
"priority": "Normal",
"due_date": "2021-07-06T18:30:00.000Z",
"TaskOwner": 1,
"studentId": "2",
"createdAt": "2021-07-26T14:39:54.000Z",
"updatedAt": "2021-07-26T14:39:54.000Z"
},
{
"id": 2,
"img": "assets/images/user/user1.jpg",
"name": "task 2",
"title": "nnjn",
"done": 0,
"note": "2525",
"priority": "High",
"due_date": "2021-07-19T18:30:00.000Z",
"TaskOwner": 1,
"studentId": "7",
"createdAt": "2021-07-27T15:05:31.000Z",
"updatedAt": "2021-07-27T15:05:31.000Z"
},
{
"id": 3,
"img": "assets/images/user/user1.jpg",
"name": "task 3",
"title": "5255",
"done": 0,
"note": "55",
"priority": "Normal",
"due_date": "2021-07-21T18:30:00.000Z",
"TaskOwner": 1,
"studentId": "7",
"createdAt": "2021-07-27T15:05:48.000Z",
"updatedAt": "2021-07-27T15:05:48.000Z"
},
{
"id": 4,
"img": "assets/images/user/user1.jpg",
"name": "task 4",
"title": "kaam kro",
"done": 0,
"note": "test note",
"priority": "Normal",
"due_date": "2021-07-21T18:30:00.000Z",
"TaskOwner": 1,
"studentId": "2",
"createdAt": "2021-08-04T14:45:47.000Z",
"updatedAt": "2021-08-04T14:45:47.000Z"
},
The method you are using to parse todos will return a ToDo object casted to a List<ToDo> which will cause an exception!
What you have to do is converting every single map in json to ToDo and then create a List from them.
Here is what you need to do:
replace this line
final List<ToDo> todo = toDoFromJson(response.body) as List<ToDo>;
with this:
final List<ToDo> todo = List<ToDo>.from(response.body.map((x) => toDoFromJson(x)))
fixed this by adding for loop to the Future function, refer to the code below -
Future<List<ToDo>> fetchTodos() async {
List<ToDo> todos = [];
final response =
await http.get(Uri.parse('https://dhulltransport.com:20625/task/all/1'));
if (response.statusCode == 200) {
var jsonList = jsonDecode(response.body);
for (var t in jsonList) {
todos.add(ToDo.fromJson(t));
}
print(todos.length);
return todos;
} else {
return [];
}
}