0
我有一個具有嵌套對象的JSON結果。我需要將它們轉換爲具有與json結果不同的屬性名稱的自定義對象。如何使用不同屬性名稱的可觀察地圖嵌套JSON對象
對於父對象(Vraag
)我可以映射它們。但對於子對象(Antwoord
),我不能。
的Json
{
"question":"Vraag 1",
"answers":[
{
"answer":"Voetbal"
},
{
"answer":"Volleybal"
}
]
}
我的對象
export class Vraag {
tekst?: string;
antwoorden?: Antwoord[];
constructor(tekst?: string, antwoorden?: Antwoord[]) {
this.tekst = tekst;
this.antwoorden = antwoorden;
}
}
export class Antwoord {
tekst?: string;
constructor(tekst?: string) {
this.tekst = tekst;
}
}
服務
get(): Observable<Vraag> {
return this.http.get('the json above')
.map((response: Response) => response.json())
.map(({question , answers}) => new Vraag(question , answers)); // answers needs to be fetched inside the object too
}
所以,我怎麼能映射JSON LIK E本?:
new Vraag("Vraag 1" , [new Antwoord("voetbal"),new Antwoord("volleybal")]);
'answers.map(answer => new Answer(answer))'? – jonrsharpe
@jonrsharpe我已經將'new Vraag(question,answers)'改爲'new Vraag(question,answers.map(({answer})=> new Antwoord(answer)))''以便'answers(Antwoord) '可以有多個不同的命名屬性。你的評論幫助我走上了正確的道路。 –
@jonrsharpe它現在給出了以下錯誤:'錯誤TS2345:類型'字符串'的參數不能分配給'Antwoord []'類型的參數。' –