2016-07-31 17 views
1

どのようなオブジェクトですか? enter image description here 私はアプリケーションをテストするためにモックデータを作成しようとしています。これが私の偽のデータのようです。 このモックデータを保存するにはどうしたらいいですか?JSONObjectを保存

私はJSON.stringify関数を使用して、結果をコピーして文字列として保存することしか考えられませんでした。明らかに、私がそれをした後、私は元のオブジェクトの属性にアクセスすることはできません。

enter image description here

私はファイルにこのJSONObjectを書いて、後でそのプロパティにアクセスすることができる任意の方法があります?

答えて

0

JSON.stringify()は文字列を返します。あなたが再びプロパティにアクセスできるオブジェクトを作成するには、その文字列をJSON.parse()に渡す必要があります。

保存しているオブジェクトに何らかの機能がある場合は、ではなくを保存することにも注意してください。あなたのコードobj

+0

これはまさに私がやろうとしていることです。私はそれに機能を持っているオブジェクトを保存しようとしているし、後でこれらの機能を使用したい。これはまったく実行できないのだろうか? – Yes

+0

オブジェクトに関数がある場合、より多くのインスタンスを作成するために呼び出すことができるコンストラクタがあればうれしいです。 https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/constructorを確認してください – solarshado

0

はjavascriptオブジェクトです

あなたがするブロブ(https://developer.mozilla.org/en-US/docs/Web/API/Blob)とHTML5のダウンロードAPIを使用することができますとして必要:あなたは後でそのデータとアクセスもプロパティをロードすることができ

var json = JSON.stringify(obj); 
var blob = new Blob([json], {type: "application/json"}); 
var url = URL.createObjectURL(blob); 

var a = document.createElement('a'); 
a.download = "mydata.json"; 
a.href  = url; 
a.textContent = "Download mydata.json"; 

XMLHttpRequest GETリクエストを使用して:

function loadJSON(callback) { 

    var getobj = new XMLHttpRequest(); 
    getobj.overrideMimeType("application/json"); 
    getobj.open('GET', 'mydata.json', true); // Replace 'mydata' with the path to your file 
    getobj.onreadystatechange = function() { 
      if (getobj.readyState == 4 && getobj.status == "200") { 
       // Required use of an anonymous callback as .open will NOT return a value but simply returns undefined in asynchronous mode 
      callback(getobj.responseText); 
      } 
    }; 
    getobj.send(null); 
} 

loadJSON(function(response) { 
    // Parse JSON string into object 
    var savedData = JSON.parse(response); 
}); 
+0

私は非常に混乱しています – Yes

+0

何について混乱していますか? –

+0

すべて...私はそれをすべて理解していません – Yes

0

おそらくローカルストレージを使用しています。

localStorage.setItem("MYMockData", JSON.stringify(fakeData)); 

    var fakeDataRetrived = JSON.parse(localStorage.getItem("MYMockData")); 
関連する問題