Сначала вот мои рабочие версии: node v12.13.1 | npm 6.12.1
У меня возникли проблемы с пониманием того, почему это не десериализовано должным образом. Я получаю следующее от моей службы отдыха.
{ "numbers":[],
"batches":[
{ "id":"AB3E809","status":"1"},
{ "id":"EEF32A9","status":"0"}] }
Это интерфейсы TypeScript, которые я использую при попытке ввести данные.
interface NumJson {
status: string,
num: string
}
interface BatchJson {
id: string,
status: string
}
interface Status {
numbers: NumJson[],
batches: BatchJson[];
}
При выполнении этих вызовов из моего Angular служба, похоже, она не распознает и не обращается к данным должным образом.
this.http.get<any>(url).subscribe({
next: (data: Status) => {
console.log(data); // same as JSON above
console.log(data.numbers); // undefined
console.log(data.batches); // undefined
}
this.http.get<any>(url).subscribe({
next: (data: any) => {
console.log(data); // same as JSON above
console.log(data.numbers); // undefined
console.log(data.batches); // undefined
}
Любое понимание этого было бы замечательно, поскольку это единственная подписка, которая имеет проблемы.