web-dev-qa-db-fra.com

Initialisation d'un objet JSON dans TypeScript

Je suis nouveau sur TypeScript et je suis coincé à travailler avec JSON. J'ai besoin de créer un simple objet JSON et je continue à ne pas le faire. Voici mes premières tentatives:

output: JSON; //declaration
this.output = {
"col1":{"Attribute1": "value1", "Attribute2": "value2", "Attribute3": "value3"},
"col2":{"Attribute1": "value4", "Attribute2": "value5", "Attribute3": "value6"}, 
"col3":{"Attribute1": "value7", "Attribute2": "value8", "Attribute3": "value9"} 
}

Ça ne marche pas. Je suppose que je devrais travailler avec la fonction JSON.stringify. Voici ma tentative:

obj: any; //new object declaration
this.obj = {
"col1":{"Attribute1": "value1", "Attribute2": "value2", "Attribute3": "value3"},
"col2":{"Attribute1": "value4", "Attribute2": "value5", "Attribute3": "value6"}, 
"col3":{"Attribute1": "value7", "Attribute2": "value8", "Attribute3": "value9"} 
}
this.output.stringify(this.obj);

Mais cela invoque toujours TypeError. Donc, pour résumer ma question: comment créer et initialiser correctement un objet JSON en TypeScript?

17

Je l'ai finalement compris. Tout ce que j'avais à faire était de créer des données pour "n'importe quelle" variable comme ceci:

output: JSON;
obj: any = 
{
"col1":{"Attribute1": "value1", "Attribute2": "value2", "Attribute3": "value3"},
"col2":{"Attribute1": "value4", "Attribute2": "value5", "Attribute3": "value6"}, 
"col3":{"Attribute1": "value7", "Attribute2": "value8", "Attribute3": "value9"} 
};

puis le convertir en objet JSON:

this.output = <JSON>this.obj;
11

Cela a fonctionné pour moi dans Angular 2.4.0 Stable en faisant ceci:

var request: any = {};
request.allocation = allocationFigure;
5

Vous pouvez également effectuer les opérations suivantes

const rememberUser:JSON = <JSON><unknown>{
        "username": this.credentialsForm.value.username,
        "password": this.credentialsForm.value.password
      }
3
kathikeyan A