如何将json对象映射到typescript数组
我试过各种各样的例子,但迄今为止没有一个奏效。我得到的答复如下:如何将json对象映射到typescript数组,typescript,Typescript,我试过各种各样的例子,但迄今为止没有一个奏效。我得到的答复如下: interface ISales{ id:number; amount:number; dateCreated:Date } {数据:{…},状态:200,状态文本:“确定”,标题:{…},配置:{…}, …}config:{adapter:ƒ,transformRequest:{…},transformResponse:{…}, 超时:0,xsrfCookieName:“XSRF-TOKEN”,…} 数据: 销售
interface ISales{
id:number;
amount:number;
dateCreated:Date
}
{数据:{…},状态:200,状态文本:“确定”,标题:{…},配置:{…},
…}config:{adapter:ƒ,transformRequest:{…},transformResponse:{…},
超时:0,xsrfCookieName:“XSRF-TOKEN”,…}
数据: 销售:数组(2)0:{Id:2,金额:500,创建日期:2019年1月1日 00:00:00“}1:{Id:3,金额:410,创建日期:2019年1月20日 00:00:00“} 我的接口定义如下:
interface ISales{
id:number;
amount:number;
dateCreated:Date
}
我想创建一个数组,并填写销售响应中的值。我尝试了以下方法:
const result: ISales = response.data.sales;
let payments: ISales[];
payments = [];
payments.push(result);
payments.map((item)=>{"whole array", console.log(item)})
payments.map((item)=>{"property only", console.log(item.amount)})
在上面的示例中,整个阵列将数据显示为
(2) [{…},{…}]0:{Id:2,金额:500,创建日期:2019年1月1日
00:00:00“}1:{Id:3,金额:410,创建日期:“2019年1月20日00:00:00”}
长度:2
proto:数组(0)
而该属性只是未定义的。我的代码有什么问题。如何读取属性值并将其存储在付款中?这应该可以:
const result: ISales[] = response.data.sales;
result.map((isales: ISales)=>{console.log(isales)});
result.map((isales: ISales)=>{console.log(isales.amount)});
我终于找到了错误。接口中的属性是camel case,而响应中的属性是pascal case 付款为空,设置->付款=结果;它给出了errorerror:TypeError:Cannot read property'map'of undefined at at at step()at Object。下一条消息:“Cannot read property'map'of undefined”stack:“TypeError:Cannot read property'map'of undefined”↵ 在proto:错误