2013-04-28 13 views
20

TypescriptオブジェクトのJSONシリアル化/逆シリアル化のための手段があり、型情報が失われていませんか?シンプルJSON.parse(JSON.stringify)には警告が多すぎます。Typescriptオブジェクトのシリアライズ?

また、アドホックなソリューションを使用する必要がありますか?

答えて

21

使用するインターフェイスは、強力なタイプを取得します

// Creating 
var foo:any = {}; 
foo.x = 3; 
foo.y='123'; 

var jsonString = JSON.stringify(foo); 
alert(jsonString); 


// Reading 
interface Bar{ 
    x:number; 
    y?:string; 
} 

var baz:Bar = JSON.parse(jsonString); 
alert(baz.y); 

と使用型アサーション「<>」あなたがする必要がある場合。

+3

クラスの代わりにモデル用のインターフェイスを作成するか、クラスとインターフェイスの両方を作成しますか? –

+0

この方法ではメソッドが失われます –

関連する問題