代码:
import { classToPlain, Expose, plainToClass } from 'class-transformer';
import 'reflect-metadata';
class MyClass {
@Expose({ name: 'auth-type' })
authType: number = 1;
meta: AuthorMeta = new AuthorMeta();
}
class AuthorMeta {
@Expose({ name: 'focus_count' })
focusCount: number = 0;
}
let result = plainToClass(MyClass, JSON.parse("{\"auth-type\":3,\"meta\":{\"focus_count\":333} }"))
console.log("focus_countis "+result.meta.focusCount);
打印结果:focusCount is undefined。
对于嵌套的场景,需要将嵌套的类再次通过plainToClass进行转换,如下:
参考代码: