内のオブジェクトへ戻っunserialiseありES6(ECMAScriptの6)で新しいキーワード「クラス」は、と私のクラスはこのようです:シリアライズ文字列へのオブジェクトとのECMAScript 6
class MyClass {
constructor() {
this.MyProperty = 0;
}
}
var obj = new MyClass();
console.log(obj);
//result:
//MyClass {MyProperty:0}
var str = JSON.stringify(obj);
console.log(str);
//result:
//"{MyProperty:0}"
問題は「STR」ですJSON.stringifyを使用して取得したクラス名にはクラス名が含まれておらず、です。したがって、JSON.parse(または他のユーティリティ)は、 'obj'オブジェクトにシリアル化解除できません。 'str'でJSON.parseを使用すると、結果はもはやMyClassクラスのインスタンスにはなりません。
var objFromStr = JSON.parse(str);
console.log(objFromStr);
//result:
//{MyProperty:0}
ES6でインスタンスを文字列にシリアル化してシリアル化してインスタンスに戻す方法はありますか? JSON.stringify/JSON.parseが機能しない場合、NodeJSで使用するための良いライブラリはありますか?
JSONにはクラスの概念が含まれていません。これは、単純なオブジェクト、配列、およびプリミティブを表します。オブジェクトをクラスインスタンスに再構成する場合は、JSON.parse()の2番目のパラメータとしてカスタム関数(リバイバー)を提供して、解析対象のデータを処理して、望むように返すことができます。 – JLRishe
https://www.npmjs.com/package/json-serialize – JLRishe
クラスに静的メソッドを使用できます。 'MyClass.fromJSON()'を呼び出し、自分でデシリアライズを実装します。 – sdgluck