首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何在JavaScript中读取外部本地JSON文件?

如何在JavaScript中读取外部本地JSON文件?
EN

Stack Overflow用户
提问于 2013-10-31 20:03:24
回答 21查看 1.3M关注 0票数 345

我在本地系统中保存了一个JSON文件,并创建了一个JavaScript文件,以便读取JSON文件并打印数据。下面是JSON文件:

代码语言:javascript
复制
{"resource":"A","literals":["B","C","D"]}

假设这是JSON文件的路径:/Users/Documents/workspace/test.json

有人能帮我写一段简单的代码来读取JSON文件并打印JavaScript格式的数据吗?

EN

回答 21

Stack Overflow用户

发布于 2016-01-04 01:37:33

来自硬盘的The loading of a .json file是一个异步操作,因此它需要指定一个回调函数,以便在文件加载后执行。

代码语言:javascript
复制
function readTextFile(file, callback) {
    var rawFile = new XMLHttpRequest();
    rawFile.overrideMimeType("application/json");
    rawFile.open("GET", file, true);
    rawFile.onreadystatechange = function() {
        if (rawFile.readyState === 4 && rawFile.status == "200") {
            callback(rawFile.responseText);
        }
    }
    rawFile.send(null);
}

//usage:
readTextFile("/Users/Documents/workspace/test.json", function(text){
    var data = JSON.parse(text);
    console.log(data);
});

此函数还可用于加载.html.txt文件,方法是覆盖"text/html""text/plain"等的mime类型参数。

票数 156
EN

Stack Overflow用户

发布于 2017-07-11 21:27:49

使用in Node.js or when using require.js in the browser时,您可以简单地执行以下操作:

代码语言:javascript
复制
let json = require('/Users/Documents/workspace/test.json');
console.log(json, 'the json obj');

注意:文件加载一次,后续调用将使用缓存。

票数 59
EN

Stack Overflow用户

发布于 2018-06-13 18:59:45

使用Fetch API是最简单的解决方案:

代码语言:javascript
复制
fetch("test.json")
  .then(response => response.json())
  .then(json => console.log(json));

它在Firefox中运行完美,但在Chrome中你必须自定义安全设置。

票数 42
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/19706046

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档