json - 如何创建具有日期索引的模型?
问题描述
我想使用 Angular 访问 API。它给了我一个以日期为索引的数组。
我已经尝试创建一个模型,但不幸的是,它不起作用。我该如何改变它?
API 答案如下所示
{
"Information": {
"Created": "2019-04-25",
"Version": "1.2"
},
"Files": {
"2019-04-26": {
'name': 'file1',
'size': 5,
},
"2019-04-25": {
'name': 'file2',
'size': 3,
},
...
}
}
我的模型看起来像这样
export class Model {
'Information': {
'Created': String,
'Version': String,
};
Files: [
{
'Date': String,
'name': String,
'size': number,
}
];
}
解决方案
你想要的是一个索引签名,它看起来像这样。
export class Model {
'Information': {
'Created': string,
'Version': string,
},
'Files': {
[date:string]: {
'name': string,
'size': number,
}
}
}
它说明类 Model 有一个属性 Files,它是一个具有字符串键和值的对象,这些键和值具有字符串属性名称和数字属性大小。这并不限制键必须匹配某个日期模式,据我所知,我认为没有办法做到这一点。
您也可以编写一个函数,将此响应对象映射到具有 Files 数组的对象,其中数组中的每个对象都包含日期。该映射函数是一个不同的问题,但模型看起来像这样:
export class Model {
'Information': {
'Created': string,
'Version': string,
},
'Files': {
'date': string, // could also type this as Date if you do the conversions
'name': string,
'size': number,
}[]
}
推荐阅读
- apache-kafka - 为什么我们的一些 Kafka Consumer Groups 没有列出偏移量,即使它们与主题相关联?
- javascript - Accessing the "this" keyword in a React state object
- go - go-elasticsearch fetch all documents
- javascript - How can I display images in React.js app from a json file?
- css - angular 8 getting alternate color on rows that uses ngFor
- python - 逻辑回归算法引发收敛警告
- postgresql - Postgresql重复主字符串键
- angular - Angular - 无法在 mat-select 中调用“keypress”事件的方法
- vb.net - 使用 vb.NET 和 Cognito API 获取 AWS Cognito 令牌
- g++ - 我在 ubuntu g++ 中正确编译了我的程序,但它找不到我的文件?