49

型情報を失わないように Typescript オブジェクトを JSON シリアライズ/デシリアライズする手段はありますか? シンプルJSON.parse(JSON.stringify)には注意点が多すぎます。

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

4

5 に答える 5

47

インターフェイスを使用して強い型を取得します。

// 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);

必要に応じて、型アサーション "<>" を使用します。

于 2013-04-28T08:44:46.537 に答える