如何读取本地json文件?

时间:2012-06-29 18:44:30

标签: javascript json

我在这里看到过类似的问题,但我无法理解它们。

我正在构建一个小网页,我想从我的文件系统中读取一个.json文件并获取其中的对象。

网页也是本地的,.json文件与.html文件位于同一文件夹中。

如果可以在不使用任何服务器且没有jquery的情况下如何在我的Ubuntu机器上执行此操作?

2 个答案:

答案 0 :(得分:2)

这是一些vanilla javascript XMLHTTPRequest代码,它考虑了ActiveX对象的IE怪癖:

var useActiveX = typeof ActiveXObject !== 'undefined';
function loadJSON(file, callback) {
    var xobj;
    if (useActiveX) {
        xobj = new ActiveXObject('Microsoft.XMLHTTP'); 
    } else {
        xobj = new XMLHttpRequest();
    }
    xobj.callback = callback;
    if (xobj.overrideMimeType) {
        xobj.overrideMimeType('application/json');
    }
    xobj.open('GET', file, false);
    xobj.onreadystatechange = function() {
        if (this.readyState === 4) {
            this.callback(this);
        }
     }
     xobj.send(null);
}

然后你只需要通过提供文件路径和回调函数来运行它:

loadJSON('filename.json', function(obj) {
    alert(obj.responseText);
}

答案 1 :(得分:1)

您只需在页面上添加<script>标记,将SRC指向同一文件夹中的本地.js文件即可。您不需要使用Ajax。