首页 > 解决方案 > 使用本地或全局变量访问 json 文件的最佳方法是什么?

问题描述

我目前是 Cordova javascript 的代码,我使用 JSON 数组对象来存储示例、问题、答案和更多详细信息,大约对象大小为 1MB,并将对象存储到全局变量中,并在需要时访问它,如下所示。

var _quiz=
[{
    v1:1
    ,code:"q1"
    ,type:"x1"
    ,question:"This is the question"
    ,answer:1
    ,options:"Ans1!###Ans2!###Ans3###Ans4"
},
{
    v1:1
    ,type:"x2"
    ,certificate:"bronz"
    ,question:"This is the question"
    ,answer:3
    ,options:"Ans1!###Ans2!###Ans3###Ans4"
}
...
...
];


//Need to call many times
function processQuestion()
{
    _quiz
    ...
    ...
}

但我认为这会占用更多的内存空间,并可能导致应用程序崩溃。所以我认为我们可以在需要时从函数中存储和返回 JSON 对象,这样就不会占用太多内存,并且对象存储为局部变量,如下例所示。请建议最好的方法。

function get_object()
{
    var obj=
    [{
        v1:1
        ,code:"q1"
        ,type:"x1"
        ,question:"This is the question"
        ,answer:1
        ,options:"Ans1!###Ans2!###Ans3###Ans4"
    },
    {
        v1:1
        ,type:"x2"
        ,certificate:"bronz"
        ,question:"This is the question"
        ,answer:3
        ,options:"Ans1!###Ans2!###Ans3###Ans4"
    }
    ...
    ...
    ];

    return obj;
}


//Need to call many times
function processQuestion()
{
    var ques=get_object();
    ...
    ...
}

标签: javascriptarraysjsoncordovaobject

解决方案


在第二种方法中使用 let ,您可以做的另一件事是删除 var 声明并直接从 get_object() 函数返回对象,因此也有声明,如 return {object} 。


推荐阅读