JSON解析文件路径

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

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

我正在从file1.html执行script.js ,使用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); 

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

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

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

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

纯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]); 

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

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

加载本地JSON文件

使用这样的东西

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

如果Resources是根路径,访问file.json最佳方法是通过/data/file.json