Я пытался инициализировать тип карты из BLOB-объекта JSON, когда у меня есть определенный тип для ожидаемого ответа JSON. Например, у нас есть футболка размером type
.
. Вот как выглядит капля JSON:
const blob = `{
"name": "TShirtSize",
"description": {
"S": "Small",
"M": "Medium",
"L": "Large"
}
}`
, и это тип, который я создал для JSON blob.
export type TShirtType = {
name?: string
description: Map<string, string>
}
Когда я анализирую JSON как TShirtType
, я не буду преобразовывать description
в Карту <string, string>
. Я получаю сообщение об ошибке tshirt.description.get
не является функцией.
const tshirt = JSON.parse(blob) as TShirtType
if (tshirt.description !== undefined) {
console.log(tshirt.description)
console.log(tshirt.description.get('S'))
}
Я мог бы определить это как { [key: string]: string }
и вызвать tshirt.description['S']
, чтобы получить значение, но я sh вместо использования Map. Мне было интересно, если это возможно.