2013-04-28 16 views
20

Czy są jakieś sposoby serializacji/deserializacji JSON obiektów Typescript, aby nie tracić informacji o typie? Proste JSON.parse(JSON.stringify) ma zbyt wiele zastrzeżeń.Serializacja przedmiotów maszynopisów?

Czy powinienem użyć rozwiązań ad hoc?

Odpowiedz

21

Stosować Interfejsy aby uzyskać mocne typy:

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

i rodzaju zastosowanie twierdzenie "<>", jeśli trzeba.

+3

czy tworzysz interfejsy dla swoich modeli zamiast klas czy tworzysz zarówno klasy, jak i interfejsy? –

+0

To podejście powoduje utratę metod –