Dimitris
Dimitris

Reputation: 4339

How to read a local json file?

I have seen similar questions here but I just can't understand them.

I am building a small web page and I want to read a .json file from my file system and get the object in it.

The web page is also local and the .json file is in the same folder as the .html file.

How to do that on my Ubuntu machine without using any servers and without jquery if it is possible?

Upvotes: 1

Views: 4318

Answers (2)

TheZ
TheZ

Reputation: 3732

Here's some vanilla javascript XMLHTTPRequest code, which does take into account the IE quirks of ActiveX objects:

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);
}

Then you just run it by feeding it a filepath and a callback function:

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

Upvotes: 2

Diodeus - James MacFarlane
Diodeus - James MacFarlane

Reputation: 114347

You can simply append a <script> tag to your page, pointing the SRC to the local .js file in the same folder. You don't need to use Ajax.

Upvotes: 1

Related Questions