ホームページ  >  記事  >  ウェブフロントエンド  >  JavaScript におけるオブジェクトのシリアル化の概要_javascript スキル

JavaScript におけるオブジェクトのシリアル化の概要_javascript スキル

WBOY
WBOYオリジナル
2016-05-16 16:23:191051ブラウズ

Java 言語と同様に、JavaScript でオブジェクトをシリアル化および逆シリアル化し、オブジェクトを保存できます。 ECMAScript 5 標準では、JavaScript でのオブジェクトのシリアル化は JSON.stringify() を通じて実装され、逆シリアル化は JSON.parse() を通じて実装されます。


コードをコピー コードは次のとおりです:
var o = {x:1, y:29, z:42};
var s = JSON.stringify(o);
console.log(s);//{"x":1,"y":29,"z":42}
var c = JSON.parse(s);
console.log(c);//オブジェクト {x=1, y=29, z=42}

ECMAScript 3 標準のみをサポートするブラウザの場合は、Douglas Crockford によって作成された json2.js (
https://github.com/douglascrockford/JSON-js) を使用できます。

オブジェクトをシリアル化するプロセス中に、NaN、Infinity、および -Infinity は「null」にシリアル化され、Date オブジェクトは対応する時間を表す文字列にシリアル化されます (ただし、 JSON.parse() を使用して逆シリアル化すると、時刻文字列は通常の文字列として存在し、Date オブジェクトとして再構築されません)。

JSON.stringify() を使用してオブジェクトをシリアル化する場合、シリアル化されたプロパティはオブジェクト自体の列挙可能なプロパティ (Own) に制限されます。 JSON.stringify() の実行中、JavaScript はまずシリアル化する必要のあるオブジェクトに toJSON() メソッドがあるかどうかを確認します。 toJSON() メソッドが存在する場合は、そのメソッドが呼び出され、返された結果がメソッドとして使用されます。連載対象。 toJSON() メソッドが存在しない場合は、デフォルトのシリアル化メソッドが使用されます。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。