L'analyse de JSON à partir de Typescript restaure les membres de données mais pas le type: impossible d'appeler des méthodes sur le résultat

Quand je parser le JSON-stringified résultat d'un objet p1 dans un autre objet de la p2, le deuxième objet obtient les données associées à l'objet premier, mais je ne peux pas appeler tout nethods sur elle. À l'aide de http://www.typescriptlang.org/Playground/ j'ai essayé le suivant:

class Person
{
    constructor(public name: string, public age: number) {
    }
    Age() { return this.age; }
}

//Create a person
var p: Person = new Person("One", 1);

//Create a second person from the JSON representation
//of the first (NOTE: assert it is of type Person!)
var p2: Person = <Person>JSON.parse(JSON.stringify(p));

document.writeln("Start");

document.writeln(p.name);  //OK: One
document.writeln(p.Age()); //OK: 1

document.writeln(p2.name); //OK: One
document.writeln(p2.age;   //OK: 1
document.writeln(p2.Age()); //ERROR: no method Age() on Object

document.writeln("End");

Comment puis-je analyser les données JSON et obtenir un véritable objet de Personne?

source d'informationauteur MarkusT