繁体   English   中英

如何使用 toJSON 更改序列化实体的属性名称?

[英]How can I change the property name of a serialized entity with toJSON?

我想序列化一个名称与实体中名称不同的属性。

@Entity()
export class MyEntity {
  // This should be serialized with name_column in JSON
  @Column()
  name: string
}

当我调用classToPlain我希望将属性name序列化为name_column

classToPlain(myEntity)
// returns: {name: 'my name'}
// should be: {name_column: 'my name'}

您使用json-typescript-mapper而不是 nest.js 原生支持的class-transformer是否有特定原因?


使用class-transformer ,您可以使用@Expose更改列的名称:

@Expose({ name: "name_column" })
name: string;

对于序列化,您可以使用@UseInterceptors(ClassSerializerInterceptor)注释控制器类或单个方法。 使用注释,它将自动序列化您从控制器方法返回的所有实体。 您可以在此线程中阅读有关此内容的更多信息。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM