JS中定义的JSON外部文件

时间:2014-05-21 08:16:46

标签: javascript jquery json getjson

什么是关于何时使用JSON外部文件的一些论据,例如jQuery'

$.getJSON('external.json',function(data){});

(ajax检索)与使用

在javascript中定义它
var myJson = { "someVar": { "1": ["test1","test2"], "2": ["test3","test4"]} }

什么是"适当的"这样做的方式?它是否依赖于JSON长度或是否有任何其他因素可以告诉您使用什么方法?

我看到它的方式:选择加载另一个文件,当你通过ajax调用加载数据或者在已打包的javascript文件中添加大量行时这应该是慢的,这也不是一件好事。当然,你应该在哪里使用一个或另一个......

我不仅对速度差异感兴趣(从ajax获取文件当然更慢),而且在其他方​​面也是如此,例如在某些情况下通常使用的时间和应该使用的内容......

2 个答案:

答案 0 :(得分:2)

第一个是简写:

$.ajax({
  dataType: "json",
  url: url,
  data: data,
  success: success
});

这是一个Ajax请求,比将简单的JSON对象放入文件需要更多的时间。 如果有可能,我宁愿选择第二个。此外,如果你表现得很好,第一个表演时间会更长。

时间(加载+解析2个文件)>>时间(阅读Javascript对象)

答案 1 :(得分:1)

如果您的数据在页面创建时已知,您可能最好使用以下对象文字:

var myJson = {...}

但是,正如Kursion所提到的那样,

$.getJSON(...)

是一种通过ajax异步检索json数据的简写方法。如果您想从页面加载时未知的服务器检索数据,您可以使用它...

例如,如果用户在输入控件中输入搜索词,您可能希望在不执行整页更新的情况下检索JSON以响应该搜索词。你不能事先定义一个javascript对象,因为你不会事先知道搜索词是什么。