You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Flutter读取本地JSON数据后如何按order字段升序排列返回结果

Flutter 按order字段升序排序JSON数据方案

直接修改你的readDataBase函数,在返回列表前调用Dart内置的sort方法按order字段排序即可,修改后完整代码如下:

readDataBase() async {
    String data = await DefaultAssetBundle.of(context).loadString("assets/db/tb.json");
    final jsonResult = jsonDecode(data);
    List bookList = jsonResult['book'];
    // 按order字段升序排列,两个元素的比较返回值决定排序顺序
    bookList.sort((prev, next) => (prev['order'] as int).compareTo(next['order'] as int));
    return bookList;
}

注意事项

  • 请确认你的JSON数据中order字段为整数类型,如果是字符串格式的数字,请先转换为整数再比较:
    bookList.sort((prev, next) => int.parse(prev['order']).compareTo(int.parse(next['order'])));
    
  • 如果存在部分条目没有order字段的情况,可以添加默认值避免运行时报错,示例如下(缺省order的条目会排在列表末尾):
    bookList.sort((prev, next) => (prev['order'] ?? 999).compareTo(next['order'] ?? 999));
    

内容的提问来源于stack exchange,提问作者mafortis

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.01 13:36:03