大佬教程收集整理的这篇文章主要介绍了从一次仅返回 50 个结果的 API 解析 Flutter 中的 JSON,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我一直致力于在 Flutter 应用中使用 Nutritionix API。 Nutritionix 一次只返回 50 个结果及其 API,并通过与他们交谈(我们的团队与他们制定了计划),处理它的唯一方法是围绕它进行编码。我仍在快速学习如何在尝试掌握 Dart/Flutter 的同时最好地处理进行 API 调用和解析 JsON 文件。我目前的策略是尝试预先调用 API 以获取特定餐厅的列表总数。
来自我的 NutritionixCall.dart 文件:
static resource<int> get@R_408_10586@lNum (String restaurant){
return resource(
url: 'https://API.nutritionix.com/v1_1/search/' + restaurant + '?results=0:50&fIElds=item_name,brand_name,nf_calorIEs,nf_sodium,nf_sugars,nf_cholesterol,nf_@R_408_10586@l_fat,nf_dIEtary_fiber&appID=816cee15&appKey=API_KEY',parse: (responsE) {
final result = Json.decode(response.body);
return result['@R_408_10586@l_hits'];
}
);
}
然后我的想法是我可以将总数加载到对 API 的后续调用中,并以 50 的增量继续调用 API 以填充列表。这并不奇怪地失败了,只是在我尝试调用它时导致模拟器停顿。
来自我的 NutritionixList.dart 文件:
for (int i =0; i <= @R_408_10586@lLisTings; i+51) {
Webservice().load(NutritionixData.get(restaurant,category,i)).then((
nutritionLisTings) =>
{
setState(() =>
{
_nutritionixData += _nutritionixData + nutritionLisTings
})
});
}
}
来自我的 NutritionixCall.dart 文件:
static resource<List<NutritionixData>> get (String restaurant,String category,int minResults) {
final nutritionalincrement = 50;
int maxResults = minResults + nutritionalincrement;
return resource(
url: 'https://API.nutritionix.com/v1_1/search/' + restaurant + '?results='+ minResults.toString() + ':' + maxResults.toString() + '&fIElds=item_name,nf_dIEtary_fiber&appID=',parse: (responsE) {
final result = Json.decode(response.body);
Iterable List = result['hits'];
List = List.map((model) => NutritionixData.fromJson(model)).toList();
return List.where((f) => f.nutritionFIElds.nfcategory.contains(category)).toList();
}
);
}
如果有人对使用 Flutter 的每个查询只返回一小部分结果的 API 进行排序有任何经验,我将永远感激不尽。
您是否需要立即处理来自 API 的所有结果,还是仅在用户滚动显示时将它们显示给用户?如果是后者,那么你不应该立即加载所有数据,而是在用户滚动时延迟加载数据。
对于后者,我找到了这个例子:https://www.initpals.com/flutter/how-to-lazy-load-large-list-from-http-rest-api-with-pagination-in-flutter/。 (警告:我没有试过,所以不能保证质量。)
以上是大佬教程为你收集整理的从一次仅返回 50 个结果的 API 解析 Flutter 中的 JSON全部内容,希望文章能够帮你解决从一次仅返回 50 个结果的 API 解析 Flutter 中的 JSON所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。