typescript 在编码为JSON时返回枚举键而不是整数值

dpiehjr4  于 2023-01-21  发布在  TypeScript
关注(0)|答案(1)|浏览(135)

当枚举被转换为JSON字符串时,我的打字脚本返回的是枚举的整数值,我如何返回实际的枚举键(作为字符串)?

export enum ProductType {
   Retail,
   Digital
}

export interface Product {
   id number;
   productType ProductType;
}

在发送到API服务器的字符串表示中,我得到:

JSON.stringify(product)

"productType": 0

但我需要它是"productType" : "Digital"
我怎样才能做到这一点?

exdqitrt

exdqitrt1#

但我需要它是"productType":"数字化"

问题

枚举默认为数字。

export enum ProductType {
   Retail,
   Digital
}

console.log(ProductType.Retail); // 0

修复

您可以通过以下方式声明string枚举:

export enum ProductType {
   Retail = "Retail",
   Digital = "Digital"
}

console.log(ProductType.Retail); // Retail

相关问题