web-dev-qa-db-ja.com

JSON解析ファイルパス

ローカルファイルへの正しいパスを取得しようとして立ち往生しています。次のディレクトリがあります。

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

この場合、アラートは未定義です。

19
jagger

ディレクトリにあるので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]);
42
karthikr

このソリューションでは、非同期呼び出しを使用します。同期ソリューションよりもうまく機能する可能性があります。

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

ローカルJSONファイルの読み込み

このようなものを使用してください

$.getJSON("../../data/file.json", function(json) {
    console.log(json); // this will show the info in firebug console 
    alert(json);
});
3
maazza
var request = new XMLHttpRequest();
request.open("GET","<path_to_file>", false);
request.send(null);
var jsonData = JSON.parse(request.responseText);

このコードはうまくいきました。

1

作業コードの私の場合は次のとおりです。

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);
0
Mircea

Resourcesがルートパスの場合、file.jsonにアクセスする最良の方法は、/data/file.jsonを使用することです。

0