【发布时间】:2018-04-25 16:12:23
【问题描述】:
我在 API 响应中收到以下内容:
{ "roles": [ "ADMIN", "USER" ] }
其中响应将始终包含一组角色(USER、PRESENTER、ORGANIZER 和 ADMIN)。
我想将其转换为有效的 TypeScript 数组 (Role[]),其中类型 Role 定义如下:
export type Role = 'USER' | 'PRESENTER' | 'ORGANIZER' | 'ADMIN'
有什么想法吗?
【问题讨论】:
-
presenter和organizer是从哪里出现的? ALso 预期的输出不清楚 -
如果您正在寻找加速使用
Symbols 将是一个好主意 -
不,我只是想将收到的字符串解析为有效的枚举。
-
您是否只想将响应类型转换为
Role[]?使用as使用通常的演员表有问题吗?例如,const roles = response.roles as Role[]? -
你有什么理由不能在里面放一个断言来让 TypeScript 知道类型?即
as Role[]
标签: javascript json typescript json-deserialization