JSON解析文件路径

时间:2013-06-07 19:12:40

标签: javascript jquery json parsing

我一直试图获取本地文件的正确路径。我有以下目录:

Resources ->
   data ->
       file.json
   js ->
     folder ->
        script.js
   html ->
      folder ->
         file1.html

我正在script.js执行file1.html,使用js代码:

var answers = JSON.parse('../../data/file.json');
alert(answers);

但它不起作用,即使警报没有开始。 有什么问题?

我也试过这个:

function readJSON(file) {
    var request = new XMLHttpRequest();
    request.open('GET', file, false);
    request.send(null);
    if (request.status == 200)
        return request.responseText;
};

var temp = readJSON('../../data/file.json');
alert(temp);

在这种情况下警报未定义。

6 个答案:

答案 0 :(得分:38)

由于它位于data/目录中,您需要执行以下操作:

文件路径为'../../data/file.json'

$.getJSON('../../data/file.json', function(data) {         
    alert(data);
});

Pure JS:

   var request = new XMLHttpRequest();
   request.open("GET", "../../data/file.json", false);
   request.send(null)
   var my_JSON_object = JSON.parse(request.responseText);
   alert (my_JSON_object.result[0]);

答案 1 :(得分:7)

此解决方案使用异步调用。它可能比同步解决方案更好。

var request = new XMLHttpRequest();
request.open("GET", "../../data/file.json", false);
request.send(null);
request.onreadystatechange = function() {
  if ( request.readyState === 4 && request.status === 200 ) {
    var my_JSON_object = JSON.parse(request.responseText);
    console.log(my_JSON_object);
  }
}

答案 2 :(得分:3)

Loading local JSON file

使用类似的东西

$.getJSON("../../data/file.json", function(json) {
    console.log(json); // this will show the info in firebug console 
    alert(json);
});

答案 3 :(得分:1)

var request = new XMLHttpRequest();
request.open("GET","<path_to_file>", false);
request.send(null);
var jsonData = JSON.parse(request.responseText);

这段代码对我有用。

答案 4 :(得分:0)

如果Resources是根路径,则访问file.json的最佳方式是/data/file.json

答案 5 :(得分:0)

我的工作代码是:

var request = new XMLHttpRequest();
request.open("GET", "<path_to_file>", false);
request.overrideMimeType("application/json");
request.send(null);
var jsonData = JSON.parse(request.responseText);
console.log(jsonData);