用Javascript解析JSON文件

用Javascript解析JSON文件,javascript,jquery,json,Javascript,Jquery,Json,我有一个JSON文件存储在与我正在处理的网页的HTML文件相同的文件夹中。这个HTML文件有一个脚本,其中包含一个函数,该函数以JSON形式获取变量中的数据。我在将JSON文件的内容放入HTML文件中供函数使用的变量时遇到问题。我正在本地运行HTML文件 我尝试了以下方法: $(function(){ $.getJSON("./data.json", function(jsdata) { json = jsdata; console.log(json);

我有一个JSON文件存储在与我正在处理的网页的HTML文件相同的文件夹中。这个HTML文件有一个脚本,其中包含一个函数,该函数以JSON形式获取变量中的数据。我在将JSON文件的内容放入HTML文件中供函数使用的变量时遇到问题。我正在本地运行HTML文件

我尝试了以下方法:

$(function(){
    $.getJSON("./data.json", function(jsdata) {
        json = jsdata;
        console.log(json);
    });
});
$(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);
    });
});

但是,它只会导致:XMLHttpRequest无法加载文件。有没有办法用Javascript解析本地JSON文件

JSON是使用


使用data.json会产生与以前相同的错误。

url中的点导致了问题

使用以下命令:

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

url中的点导致了问题

使用以下命令:

$.getJSON("/data.json", function(jsdata) { 
        json = jsdata;
        console.log(json);
    });
不要使用。。如果json文件与js运行的位置(即html文件)位于同一文件夹中,则应为:

$(function(){
    $.getJSON("data.json", function(jsdata) {
        json = jsdata;
        console.log(json);
    });
});
不要使用。。如果json文件与js运行的位置(即html文件)位于同一文件夹中,则应为:

$(function(){
    $.getJSON("data.json", function(jsdata) {
        json = jsdata;
        console.log(json);
    });
});
试试这个代码

$.ajax({
    url: "./data.json", // or "/data.json",
    type: "GET",
    dataType: "json"
})
试试这个代码

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

提供的URL错误

使用以下内容:

$(function(){
    $.getJSON("./data.json", function(jsdata) {
        json = jsdata;
        console.log(json);
    });
});
$(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);
    });
});

提供的URL错误

使用以下内容:

$(function(){
    $.getJSON("./data.json", function(jsdata) {
        json = jsdata;
        console.log(json);
    });
});
$(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);
    });
});

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

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

尝试删除。在URL中,它取决于调用此getJSON函数的Javascript文件的位置。如果JS代码在json文件的同一级别内,那么确实要删除。其他方面../应该在工具xrs请求中执行trickcheck,并检查该文件在Validator中是否为json有效。我没有托管该文件会有什么区别吗?我正在本地运行HTML。这应该是问题所在,请尝试删除。在URL中,它取决于调用此getJSON函数的Javascript文件的位置。如果JS代码在json文件的同一级别内,那么确实要删除。其他方面../应该在工具xrs请求中执行trickcheck,并检查该文件在Validator中是否为json有效。我没有托管该文件会有什么区别吗?我正在本地运行HTML。应该是XmlHttpRequest无法加载的问题file:///C:/data.json. 跨源请求仅支持协议方案:http、data、chrome、chrome extension、https、chrome-extension-resource.XMLHttpRequest无法加载file:///C:/data.json. 跨源请求仅支持协议方案:http、data、chrome、chrome extension、https、chrome-extension-resource.XMLHttpRequest无法加载file:///C:/Users/grooms/Desktop/SampleTimeline/data.json. 跨源请求仅支持协议方案:http、data、chrome、chrome extension、https、chrome-extension-resource。您需要从网站运行html,而不是从文件系统上的目录运行html。有关更多信息,请参见此处:很高兴知道。我获得当日最佳奖励。XMLHttpRequest无法加载file:///C:/Users/grooms/Desktop/SampleTimeline/data.json. 跨源请求仅支持协议方案:http、data、chrome、chrome extension、https、chrome-extension-resource。您需要从网站运行html,而不是从文件系统上的目录运行html。有关更多信息,请参见此处:很高兴知道。我获得了“今日最佳”奖。