Flutter 读取本地 JSON 文件,加载解析 JSON 数据

如何在 Flutter 中读取本地 Assets 下的 JSON 文件呢?这里分享两个方法,直接使用就行。我的本地 JSON 文件地址在assets/data/station.json

先在pubspec.yaml依赖这个文件夹,后面如果有其他 JSON 文件也放在这个文件夹下,就不用再次单独依赖。

  assets:
    - assets/data/

第一种读取方法,使用 rootBundle ,它可以直接使用,然后导包就行。

      rootBundle.loadString("assets/data/station.json").then((data){
        final jsonResult = jsonDecode(data.toString());
        print(jsonResult);
      });

第二种读取方法:

      DefaultAssetBundle.of(context).loadString("assets/data/station.json").then((value){
        final jsonResult = jsonDecode(value); 
        print(jsonResult);
      });

上面代码可以直接使用,只要注意一个点,就是这两个读取方法都是异步方法,我上面使用Future.then作为异步回调。也可以使用 await ,但如果使用它,要注意搭配 async使用。

上面是读取 JSON,其中 jsonDecode是解析 JSON 数据,有需要可以看之前的分享 Flutter 中用 Dart 解析 JSON 对象、数组、嵌套对象等数据

本文由老郭种树原创,转载请注明:https://guozh.net/how-to-load-json-assets-into-a-flutter-app/

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注