am working on a machine app which fetches data from the server by using HTTP request. the problem is that the api is providing more than 50000 obejects nested. when i make the api request it takes more than 2 minutes. is there any solution so that i can fetch the data faster ?
P.s. I can't use pagination because am not gonna to build Listview with it. The fetched data are just there to be selected as property not more.
So when user needs to configure machine, he will get more than 20 properties 3 of them are Lists that present the fetched data simple as Search list.
my data is somthing like this : every object has actually a list that contains at least 50 objects.
{
"mainCategories": [
{
"mainCategoryName": "Agriculture",
"labelDE": "Landtechnik",
"labelEN": "Agriculture",
"categories": [
{
"categoryCode": "Tractor",
"categoryName": "Tractor",
"labelDE": "Traktor",
"labelEN": "Tractor",
"subCategories": [
{
"subcategoryCode": "Tractor",
"subcategoryName": "Tractor",
"labelDE": "Traktor",
"labelEN": "Tractor",
"subcategoryOptions": [
{
"optionCode": "brand",
"optionName": "brand",
"LabelDE": "Hersteller",
"LabelEN": "Make",
"dataType": "Text"
},
{
"optionCode": "model",
"optionName": "model",
"LabelDE": "Modell",
"LabelEN": "Model",
"dataType": "Text"
},
{
"optionCode": "yearOfConstruction",
"optionName": "yearOfConstruction",
"LabelDE": "Baujahr",
"LabelEN": "Year of Construction",
"dataType": "int"
},
{
"optionCode": "powerHP",
"optionName": "powerHP",
"LabelDE": "Leistung in PS",
"LabelEN": "Horse Power",
"dataType": "int"
},
{
"optionCode": "additionalControlUnit",
"optionName": "additionalControlUnit",
"LabelDE": "Zus?tzliche Steuerger?te",
"LabelEN": "Additional Control Unit",
"dataType": "enum",
"enums": [
{
"enumCode": "mechanic",
"enumName": "mechanic",
"LabelDE": "mechanisch",
"LabelEN": "mechanic"
},
{
"enumCode": "electric",
"enumName": "electric",
"LabelDE": "elektrisch",
"LabelEN": "electric"
}
]
},
{
"optionCode": "hasCabin",
"optionName": "hasCabin",
"LabelDE": "Kabine vorhanden",
"LabelEN": "Cabin",
"dataType": "boolean"
},
{
"optionCode": "airCondition",
"optionName": "airCondition",
"LabelDE": "Klimaanlage",
"LabelEN": "Air Condition",
"dataType": "boolean"
}
]
}
]
}
]
}
]
}
i using the following code :
static Future<http.Response> fetchDataFromApi(http.Client client) async {
final response = await client.get(apiURL);
if (response.statusCode == 200) {
final jsonResponse = jsonDecode(response.body);
modelMachineApi = new ModelMachineApi.fromJson(jsonResponse);
print("The Api call has successed");
print(modelMachineApi.categories[0].labelDE);
}
return response;
}
question from:
https://stackoverflow.com/questions/65830490/fetch-complex-data-from-the-internet