我拥有的JSON文件看起来像这样:
[
{
"keys": [
{
"date": "2019-06-25T17:33:39.000Z"
}
],
"tag": null
},
{
"keys": [],
"tag": "stringvalue"
}
]
由于第二个keys
是一个空数组,在导入文件后,Typescript假定keys
可以是any[]
类型(因此,使keys
为any[] | IKeys[]
类型,其中IKeys
是keys
的真实形状接口(。这禁止使用诸如Array.map()
之类的方法,因为呼叫签名是不兼容的。
您如何修复此问题,以便该打字稿了解keys
的真实接口?
这是一个沙盒示例。https://codesandbox.io/s/serene-kare-g7r5r
我还没有找到一种让打字稿自行弄清楚的方法,但是您总是可以自己抛弃它:
const keys = file.keys as { date: string}[]