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