ionic 使用 $cordovaFile 读取本地 json 文件

ionic read a local json file with $cordovaFile

我正在尝试加载这样存储的本地 json 文件:

www/json/config.json

var path = '/android_asset/www/json'; //<-i have tried lots of differnt path's without success
var fileName = "config.json";
console.log('url: '+path+fileName);
console.log('file there?: '+angular.toJson($cordovaFile.checkFile(path, fileName)) );

$cordovaFile.readAsText(path, fileName).then(function (success) {
  console.log('read success: '+angular.toJson(success));
}, function (error) {
  console.log('read error: '+angular.toJson(error));
});

我将 ionic 与 ngCordova 插件 $cordovaFile 一起使用...有人有什么建议吗? 我只想在我的应用程序中加载 "default" json...

您无法使用 $cordovaFile 和该路径读取 www 文件夹中的文件,$cordovaFile 通过 file:// 协议访问该文件。

因为默认 json 文件位于 www 文件夹中。以下是一些方法:

  1. 复制所有 JSON 内容并将其放入 javascript 文件中,并作为全局变量访问该文件。 (必须将此文件包含到 index.html

    var json = {myKey: "myValue"};
    
  2. 使用 $resource 作为服务(未测试):

    $resource('file:///android_asset/www/json/myJson.json', {}, {
        query: { method: 'GET', params: {}, isArray: true }
    })
    
  3. 在您的控制器中使用 $http

    $http.get('json/myJson.json')
    .success(function (data) {
        // The json data will now be in scope.
        $scope.myJsonData = data;
    });