JSON .stringify()
JSONの一般的な使用法は、Webサーバーとの間でデータを交換することです。
Webサーバーにデータを送信する場合、データは文字列である必要があります。
JavaScriptオブジェクトを。を使用して文字列に変換しますJSON.stringify()
。
JavaScriptオブジェクトを文字列化する
JavaScriptにこのオブジェクトがあると想像してください。
const obj = {name: "John", age: 30, city: "New York"};
JavaScript関数JSON.stringify()
を使用して文字列に変換します。
const myJSON = JSON.stringify(obj);
結果は、JSON表記に続く文字列になります。
myJSON
これで文字列になり、サーバーに送信する準備が整いました。
例
const obj = {name: "John", age: 30, city: "New York"};
const myJSON =
JSON.stringify(obj);
次の章では、JSONをサーバーに送信する方法を学習します。
JavaScript配列を文字列化する
JavaScript配列を文字列化することも可能です。
JavaScriptにこの配列があると想像してください。
const arr = ["John", "Peter", "Sally", "Jane"];
JavaScript関数JSON.stringify()
を使用して文字列に変換します。
const myJSON = JSON.stringify(arr);
結果は、JSON表記に続く文字列になります。
myJSON
これで文字列になり、サーバーに送信する準備が整いました。
例
const arr = ["John", "Peter", "Sally", "Jane"];
const myJSON =
JSON.stringify(arr);
次の章では、JSON文字列をサーバーに送信する方法を学習します。
データの保存
データを保存する場合、データは特定の形式である必要があり、データを保存する場所に関係なく、 テキストは常に有効な形式の1つです。
JSONを使用すると、JavaScriptオブジェクトをテキストとして保存できます。
例
ローカルストレージへのデータの保存
// Storing data:
const myObj = {name: "John",
age: 31, city: "New York"};
const myJSON =
JSON.stringify(myObj);
localStorage.setItem("testJSON", myJSON);
// Retrieving data:
let text = localStorage.getItem("testJSON");
let obj =
JSON.parse(text);
document.getElementById("demo").innerHTML = obj.name;
例外
日付を文字列化する
JSONでは、日付オブジェクトは許可されていません。このJSON.stringify()
関数は、日付を文字列に変換します。
例
const obj = {name: "John", today: new Date(), city : "New York"};
const myJSON = JSON.stringify(obj);
文字列を受信側で日付オブジェクトに変換し直すことができます。
Stringify関数
JSONでは、関数はオブジェクト値として許可されていません。
このJSON.stringify()
関数は、JavaScriptオブジェクトから、キーと値の両方の関数をすべて削除します。
例
const obj = {name: "John", age: function () {return 30;}, city: "New York"};
const myJSON = JSON.stringify(obj);
関数を実行する前に関数を文字列に変換する場合は、これを省略できますJSON.stringify()
。
例
const obj = {name: "John", age: function () {return 30;}, city: "New York"};
obj.age = obj.age.toString();
const myJSON = JSON.stringify(obj);
JSONを使用して関数を送信すると、関数のスコープが失われ、受信者はeval()を使用して関数を関数に戻す必要があります。