javascript - 来自 Angular http 的 JSON 对象没有正确反序列化
问题描述
首先是我的运行版本: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
}
对此的任何见解都会很棒,因为这是唯一有问题的订阅。
解决方案
推荐阅读
- json - 如何在 nifi 上打印 json 属性名称?
- scala - 我无法在 scala-shell 中加载 myfile.scala
- java - arrayList 似乎仅在首先完成一项活动而不是另一项活动时才创建
- c# - 如何在 C# 中使用 XML 创建注册和登录表单?
- angular - 抽象类中与另一个类有关系的反序列化问题
- netbeans - Win10卸载NB9.0
- asp.net-core - ASP.NET Core url 仅重写域
- java - getLargePrime Java 循环
- reactjs - 找不到反应包中的离子模态控制器
- r - 如何更改 selectInput 中选项的名称以避免使用 URL 作为选项?