如何在离子中编写和读取json文件

时间:2016-05-12 15:52:49

标签: html angularjs ionic-framework

我使用离子来制作应用程序,我需要存储一些数据并阅读,我不知道该怎么做,你可以给我一些指示吗?所以...更具体一点......在这个应用程序中有一个选项可以看到订单的历史(是一个购买应用程序),所以每次用户下订单我需要保存,当他希望他可以看到所有订单他制作,要做到这一点,我需要从存储和显示加载所有json,我不知道如何保存正确的方式后动态读取?

1 个答案:

答案 0 :(得分:1)

您可以使用$cordovaFile服务:

const fileName = "orders.json"

var getUserOrders = function () {

    var d = $q.defer(),
        userOrders;

        $cordovaFile.checkFile(cordova.file.dataDirectory, fileName).then(
        function (success) {
            $cordovaFile.readAsText(cordova.file.dataDirectory, fileName).then(
                function (data) {
                    d.resolve(JSON.parse(data));
                }, function (error) {
                    ...
                });  
        }, function (error) {
            // No orders saved
             d.resolve([]);
        }
    );
};

var saveAnOrder = function (order) {

    var d = $q.defer(),
        orderToSave = order;

    getUserOrders().then(
       function (data) {
           var userOrders = data;
           userOrders.push(orderToSave);
            $cordovaFile.writeFile(cordova.file.dataDirectory, fileName, JSON.stringify(userOrders), true).then(
                function (success) {
                     d.resolve(userOrders);
                }, function (error) {
                    ...
                });
        }, function (error) {
           ...
        }
    );
};