2013-08-30 17 views
7

Jestem nowicjuszem w TypeScript i utknąłem w pracy z JSON. Potrzebuję utworzyć prosty obiekt JSON i nadal nie mogę tego zrobić. Oto moje pierwsze próby:Inicjowanie obiektu JSON w TypeScript

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"} 
} 

To nie działa. Chyba powinienem pracować z funkcją JSON.stringify. Oto moja próba:

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

Ale to nadal wywołuje TypeError. Podsumowując moje pytanie: jak prawidłowo utworzyć i zainicjować obiekt JSON w TypeScript?

+0

Twój przykład nie ma dla mnie większego sensu. Po pierwsze, nie możesz zadeklarować danych wyjściowych w tym zakresie, po drugie byłoby przydatne, gdybyś mógł podać dokładny błąd, który otrzymujesz. – thomaux

+0

Zamieszczałem rozwiązania, które przygotowałem dla mojego problemu, ale one nie działają dobrze. Wszystko, co muszę zrobić, to poprawnie utworzyć obiekt JSON i zainicjować go w mojej metodzie TypeScript. Opublikowany przeze mnie kod jest kompilowany - nie pokazuje żadnych błędów, ale w konsoli widzę TypeError "this.output nie jest zdefiniowany". – OutOfSpaceHoneyBadger

+0

Cóż, właściwym rozwiązaniem byłoby zadeklarowanie danych wyjściowych w zakresie 'this' – thomaux

Odpowiedz

3

W końcu to rozgryzłem. Wszystko co musiałem zrobić, to stworzyć dane do "każdego" zmiennej jak ten:

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"} 
}; 

a następnie wrzucił go do JSON obiektu:

this.output = <JSON>this.obj; 
+2

' JSON' nie jest typem obiektu JSON, jest rodzajem samego obiektu parsowania 'JSON' *. –

0

pracował dla mnie przez kątowe 2.4.0 Stable w ten sposób:

var request: any = {}; 
request.allocation = allocationFigure; 
Powiązane problemy