繁体   English   中英

如何使用 flutter 读取没有资产的 json 文件

[英]How to read a json file without assets with flutter

我正在尝试执行一个 json 文件,该文件显示 2 条带有 bat 文件的路线。

为了读取文件,我使用 path_provider 来本地化 json 文件,所以这部分我已经完成了。 我需要知道为什么程序无法重新调整文本。 我将所有信息放在一个列表中,bc 是读取所有信息的正确方法。


dynamic complete_route = '';

_functionX(String args1, String args2) async {
  var shell = Shell();
  try {
    final dir = await getApplicationDocumentsDirectory();
    String d = dir.path;
    final path = d;

    final route = await ('$path\\config.json');

    String contenido = await _leerArchivo(route);
    String local_route = complete_route;

    shell.run('$local_route $args1 $args2');
  } catch (e) {
    debug('error', true);
    debug(e, true);
  }
}

List lista = [];

_leerArchivo(String ruta) async {
  try {
    //final File f = File(ruta);

    final res = await json.decode(ruta);

    lista = res["routes"];

    complete_route = res.toString();

    return lista;
  } catch (e) {
    return e.toString();
  }
}

在清单文件中添加权限

<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>

在 <application.... /application> 中放入以下权限

android:requestLegacyExternalStorage="true"

rootBundle 用于访问应用程序的资源,不能用于访问手机存储中的文件。

打开文件

File jsonFile = await File("${dir.path}/demofolder/demo.json");

然后使用解码这个 jsonFile

var jsonData = json.decode(jsonFile.readAsStringSync());

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM