这是我第一次使用JSON,而且我还是Javascript的新手。我正在开发一个应用程序,我将需要使用几组数据。由于有近300个条目,每个条目有6个属性,我计划以JSON格式存储它们。在应用程序中,我将需要检索数据并使用它进行多次计算。
我在决定如何存储数据时遇到了一些麻烦。我知道将事物存储为全局变量通常是不好的做法,即使它方便易用。因此我考虑将数据存储在一个单独的文件中并使用jQuery加载它。这种方法使得处理数据变得更加繁琐,但它的好处是可以在条目过期时更新条目。我还不确定这种方法会对加载时间产生多大影响。
我不确定哪个选项更合适或者有更好的选择。你会怎么做?
答案 0 :(得分:2)
您需要访问并修改 JSON中的数据。为此,您需要在JavaScript中开发一个逻辑,以帮助反序列化/序列化以管理您的对象。
对于位置,您可以将其存储在本地文件中,如果您有权访问一个数据库表并使用“JSON”列创建表,则可以使用数据库表。
您有很多可能需要具体说明如何使用它。
答案 1 :(得分:2)
除了数据的位置之外,如果将所有代码放在模块中,可以避免使用全局对象,请查看amd or asynchronoud module definition这是一个很好的机制。
不,如果我们回到数据部分,我最好的方法是将您的数据存储在json文件中,并在您的模块中编写一个函数,该函数可以处理加载数据甚至编辑它。
答案 2 :(得分:2)
就个人而言,我将数据放入.json
文件并使用ajax加载。
根本没有使数据繁琐的工作。它仍然是json并被转换为Javascript对象。
示例:
$.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