簡體   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