📅  最后修改于: 2023-12-03 15:37:21.315000             🧑  作者: Mango
在 JavaScript 中使用 .json() 方法可以将 JSON 格式的数据转换为 JavaScript 对象。在 AJAX 调用中,从服务器获取的数据通常以 JSON 格式返回。.json() 方法可以将这些数据转换为易于处理的 JavaScript 对象。
.json() 方法可以与 XMLHttpRequest 或 jQuery AJAX 方法等一起使用。以下是一个使用 XMLHttpRequest 的例子:
const xhr = new XMLHttpRequest();
xhr.open('GET', 'example.json');
xhr.responseType = 'json';
xhr.onload = function() {
console.log(xhr.response);
};
xhr.send();
如上述代码所示,我们用 XMLHttpRequest 获取了一个名为 example.json 的文件,并且将 responseType 设置为 'json',这样我们可以确保获取到的是 JSON 格式的数据。当请求成功后,我们将通过控制台输出获取到的 JSON 数据。
同样的,我们也可以使用 jQuery AJAX 方法来获取 JSON 格式的数据:
$.getJSON('example.json', function(json) {
console.log(json);
});
如上述代码所示,我们使用了 jQuery 的 getJSON 方法来获取 JSON 格式的数据,并且将其放入一个名为 json 的匿名函数中,以便将获取到的数据输出到控制台。
.json() 方法在较新的 Firefox、Chrome、Safari 和 IE 浏览器中都有支持。对于不支持 .json() 方法的浏览器,我们可以使用 eval() 方法:
const xhr = new XMLHttpRequest();
xhr.open('GET', 'example.json');
xhr.onload = function() {
const json = eval('(' + xhr.responseText + ')');
console.log(json);
};
xhr.send();
如上例所示,我们使用 eval() 方法将获取到的 JSON 数据转换为 JavaScript 对象。
在使用 .json() 方法时,需要确保返回的数据确实是 JSON 格式,否则会报错。在使用 eval() 方法时,需要确保返回的数据是可信的,否则可能会存在安全隐患。
此外,在使用 eval() 方法时,需要将返回的 JSON 数据用圆括号括起来,以确保代码能够正确解析。
在 JavaScript 中使用 .json() 方法可以方便地将 JSON 格式的数据转换为易于处理的 JavaScript 对象。我们可以通过 XMLHttpRequest 或 jQuery AJAX 方法在浏览器中获取 JSON 格式的数据,并且将其转换为 JavaScript 对象,以便在程序中进行处理。