JSON外部文件vs在JS中定义

JSON external file vs defined in JS

本文关键字:JS 定义 vs 外部 文件 JSON      更新时间:2023-09-26

什么时候使用JSON外部文件,如jQuery的

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

(ajax检索)与在javascript中使用

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

做这件事的"正确"方式是什么?它是否取决于JSON长度,或者是否有其他因素可以告诉您使用哪种方法?

我看到它的方式:选择加载另一个文件,这应该是缓慢的,因为你正在通过ajax调用加载数据或添加大量的行到已经打包的javascript文件,这不是一件好事。当然,你应该在哪里使用一个或另一个必须有所区别。?

我不仅对速度差异感兴趣(从ajax获取文件当然更慢),而且还对其他方面感兴趣,例如在某些情况下通常使用什么以及应该使用什么…

第一个是

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

这是一个Ajax请求,比在文件中放置一个简单的JSON对象要花费更多的时间。如果可能的话,我更喜欢第二种。此外,如果你想有好的表现,第一段时间会更长。

time(加载+解析2个文件)>> time(读取一个Javascript对象)

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

var myJson = {...}

然而,正如Kursion提到的,

$.getJSON(...)

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

例如,如果用户在输入控件中输入一个搜索词,您可能希望检索JSON作为响应,而不需要执行整个页面更新。你不能简单地预先定义一个javascript对象,因为你事先不知道搜索词是什么。