在Javascript中解析JSON文件

时间:2015-06-04 14:19:03

标签: javascript jquery json

我有一个JSON文件存储在相同文件夹中,作为我正在处理的网页的HTML文件。此HTML文件的脚本具有一个函数,该函数以JSON格式获取变量中的数据。我无法将JSON文件的内容转换为HTML文件中的变量以供函数使用。我在本地运行HTML文件。

我尝试过以下方法:

$(function(){
    $.getJSON("./data.json", function(jsdata) {
        json = jsdata;
        console.log(json);
    });
});

但是,它只会导致:XMLHttpRequest cannot load file。有没有办法在Javascript中解析本地JSON文件?

使用http://jsonlint.com/

验证了JSON

使用" data.json"给出与以前相同的错误。

5 个答案:

答案 0 :(得分:3)

请勿使用.。如果json文件与js运行的位置(即你的html文件)位于同一个文件夹中,那么它应该是这样的:

$(function(){
    $.getJSON("data.json", function(jsdata) {
        json = jsdata;
        console.log(json);
    });
});

答案 1 :(得分:2)

您无法在jquery中使用$.getJSON加载本地文件。 您必须在项目内部设置有效的url文件,而不是本地文件路径,因为浏览器会出于某些安全原因阻止加载。

答案 2 :(得分:1)

网址中的网址导致问题

使用此:

$.getJSON("/data.json", function(jsdata) { 
        json = jsdata;
        console.log(json);
    });

答案 3 :(得分:1)

提供的网址错误。

使用以下内容:

$(function () {
    var baseUrl = 'http://....'; // Your base url of app

    // Use the absolute URL in here
    $.getJSON( baseUrl + "/data.json", function (jsdata) {
        json = jsdata;
        console.log(json);
    });
});

答案 4 :(得分:0)

试试这段代码

$.ajax({
    url: "./data.json", // or "/data.json",
    type: "GET",
    dataType: "json"
})