JSON.stringify()

JSONの一般的な用途は、ウェブサーバーとのデータ交換です。

ウェブサーバーにデータを送信する際には、データは文字列でなければなりません。

通じて JSON.stringify() JavaScript オブジェクトを文字列に変換します。

JavaScript オブジェクトの文字列化

JavaScriptでこのオブジェクトがあると想像してみてください:

var obj = { name:"Bill Gates", age:62, city:"Seattle"};

JavaScript関数を使用してください JSON.stringify() それを文字列に変換します。

var myJSON = JSON.stringify(obj);

結果はJSON形式の文字列になります。

myJSONは現在、サーバーに送信準備ができた文字列です:

インスタンス

var obj = { name:"Bill Gates", age:62, city:"Seattle"};
var myJSON =  JSON.stringify(obj);
document.getElementById("demo").innerHTML = myJSON;

実際に試してみてください

次の章で、サーバーにJSONを送信する方法を学びます。

Stringify JavaScript 配列

JavaScriptの配列も文字列化できます:

JavaScriptでこの配列があると想像してみてください:

var arr = [ "Bill Gates", "Steve Jobs", "Elon Musk" ];

JavaScript関数を使用してください JSON.stringify() それを文字列に変換します。

var myJSON = JSON.stringify(arr);

結果はJSON形式の文字列になります。

myJSONは現在、サーバーに送信準備ができた文字列です:

インスタンス

var arr = [ "Bill Gates", "Steve Jobs", "Elon Musk" ];
var myJSON =  JSON.stringify(arr);
document.getElementById("demo").innerHTML = myJSON;

実際に試してみてください

次の章で、サーバーにJSONを送信する方法を学びます。

例外

日付文字列化

JSONでは、日付オブジェクトは許可されていません。JSON.stringify() この関数は、どんな日付も文字列に変換します。

インスタンス

var obj =  { "name":"Bill Gates", "today":new Date(), "city":"Seattle"};
var myJSON = JSON.stringify(obj);
document.getElementById("demo").innerHTML = myJSON;

実際に試してみてください

受信端で文字列を日付オブジェクトに変換することができます。

関数の文字列化

JSONでは、関数はオブジェクトの値として許可されていません。

JSON.stringify() JavaScript オブジェクトから関数を削除します。キーと値を含みます:

インスタンス

var obj =  { "name":"Bill Gates", "age":function () {return 62;}, "city":"Seattle"};
var myJSON = JSON.stringify(obj);
document.getElementById("demo").innerHTML = myJSON;

実際に試してみてください

関数を実行するとき JSON.stringify() 関数は既に文字列に変換されているため、この手順は省略できます。

インスタンス

var obj =  { "name":"Bill Gates", "age":function () {return 62;}, "city":"Seattle"};
obj.age = obj.age.toString();
var myJSON = JSON.stringify(obj);
document.getElementById("demo").innerHTML = myJSON;

実際に試してみてください

JSON では関数を使用することを避けるべきです。関数はスコープを失い、さらに直接使用する必要があります eval() それらを関数に戻します。

ブラウザサポート

すべての主要ブラウザと最新の ECMAScript (JavaScript) 标準が含まれています JSON.stringify() 関数:

以下のテーブルの数字は完全にサポートされる関数を指定しています JSON.stringify() 関数の最初のブラウザバージョン:

はい 8.0 3.5 4.0 10.0