Как указать конкретный тип для JSON в typescript?
Мой сервис принимает месседжи - которые являются JSONом с конкретным типом. Как я могу указать это?
export interface IBody {
color: string;
name: string;
isPopular: boolean;
}
export interface IRequest {
id: string;
body: JSON<IBody>. // <- вот здесь ошибка
}
server.listen((message: IRequest) => {}, port);
вот код как я пробую, но получаю ошибку - "Type 'JSON' is not generic."
Как можно указать что поле является JSON строкой - которая является засериализированным конкретным интерфейсом?
Ответы (1 шт):
Автор решения: Алексей
→ Ссылка
Вы можете указать, что поле строка, а после парса указать ей нужный тип.
export interface IBody {
color: string;
name: string;
isPopular: boolean;
}
export interface IRequest {
id: string;
body: string;
}
server.listen((message: IRequest) => JSON.parse(message.body) as IBody, port);