如何从应用程序本地的.json文件中读取json数据中的离子应用程序

时间:2015-12-05 20:03:42

标签: android angularjs json cordova ionic

我有一个使用离子框架的Cordova应用程序。我有许多json数据文件,我放在我的应用程序的文件树中的www / json文件夹中。我正在使用angularJS http调用来访问它们。

当我在Chrome中测试我的应用程序时(在终端中使用“离子服务”)它工作正常但是当我在Android设备上测试它时(nexus 5与Android 6.0 Marshmallow)它不再有效。

示例代码

function getBookNames() {
      return $http.get("..\\bookfolder\\Books.json")
        .then(function (data) {//if success than do
          return data.data;
        }, function (reason) {// if fail than do
          // maybe tell the user what happened...
        });
    }

我尝试过添加

 var path = "";

    if (ionic.Platform.isAndroid()) {
      path = "\\android_asset\\www\\";
    }
    function getBookNames() {
          return $http.get(path + "..\\bookfolder\\Books.json")
            .then(function (data) {//if success than do
              return data.data;
            }, function (reason) {// if fail than do
              // maybe tell the user what happened...
            });
        }

当我在手机上调试应用程序时,出现以下错误。

GET file:///android_asset/bookfolder/Books.json net::ERR_FILE_NOT_FOUND

如果有人知道我做错了什么或者更好的方式来访问本地.json文件,请告诉我。谢谢!

1 个答案:

答案 0 :(得分:1)

使用斜杠/字符,而不是反斜杠\。另外,将bookfolder放在/android_asset/www

$http
    .get('/android_asset/www/bookfolder/books.json')
    .then(function(response){ return response.data });