存储JSON数据的位置

时间:2015-09-13 00:19:19

标签: javascript json

这是我第一次使用JSON,而且我还是Javascript的新手。我正在开发一个应用程序,我将需要使用几组数据。由于有近300个条目,每个条目有6个属性,我计划以JSON格式存储它们。在应用程序中,我将需要检索数据并使用它进行多次计算。

我在决定如何存储数据时遇到了一些麻烦。我知道将事物存储为全局变量通常是不好的做法,即使它方便易用。因此我考虑将数据存储在一个单独的文件中并使用jQuery加载它。这种方法使得处理数据变得更加繁琐,但它的好处是可以在条目过期时更新条目。我还不确定这种方法会对加载时间产生多大影响。

我不确定哪个选项更合适或者有更好的选择。你会怎么做?

3 个答案:

答案 0 :(得分:2)

您需要访问修改 JSON中的数据。为此,您需要在JavaScript中开发一个逻辑,以帮助反序列化/序列化以管理您的对象。

对于位置,您可以将其存储在本地文件中,如果您有权访问一个数据库表并使用“JSON”列创建表,则可以使用数据库表。

您有很多可能需要具体说明如何使用它。

答案 1 :(得分:2)

除了数据的位置之外,如果将所有代码放在模块中,可以避免使用全局对象,请查看amd or asynchronoud module definition这是一个很好的机制。

不,如果我们回到数据部分,我最好的方法是将您的数据存储在json文件中,并在您的模块中编写一个函数,该函数可以处理加载数据甚至编辑它。

答案 2 :(得分:2)

就个人而言,我将数据放入.json文件并使用ajax加载。

根本没有使数据繁琐的工作。它仍然是json并被转换为Javascript对象。

示例:

http://jsfiddle.net/mon3419m/

$.get('https://www.reddit.com/.json').done(function(data){
    data.data.children.forEach(makeLi);
});

以及全球问题..

只需输入您的代码:

(function(){

     //all your code.

})();

全局代码是一个问题,当您的应用程序很大或您的脚本从您的其他来源运行时。哪些可以无意中对你的变量做些什么。但是使用这个自我调用功能可以防止这一切。因为js中的函数创建了新的范围。放(function(){})();就像调用函数并告诉它立即执行一样。

更好地了解一下这个..

funcName(); //invokes funcName
(funcName)(); //invokes funcName
(function funcName() {})(); //invokes funcName
(function(){})(); //invokes the nameless function