【发布时间】:2020-03-01 21:54:48
【问题描述】:
将普通对象从 JSON 转换为类实例时,我需要一种方法 捕获所有没有对应类属性的属性并存储它们 在某个地方(以下示例中的附加数据)。
我查看了一些库(class-transformer、marshal.ts、TypedJSON) 但似乎没有办法做我想做的事。
下面是我想要实现的假设示例(它使用 class-transformer,但任何其他反序列化器库都可以为我工作)
// model/DailyStatsRecord.ts
export class DailyStatsRecord {
public uuid: string;
public date: string;
public additionalData: any;
}
// index.ts
import "reflect-metadata";
import {plainToClass} from "class-transformer";
import {DailyStatsRecord} from './model/DailyStatsRecord';
const instance = plainToClass(DailyStatsRecord, {
uuid: "faf9a028-5bbe-11ea-bc55-0242ac130003",
date: "2020-03-01",
otherField: 123,
more: ["data"],
foo: "bar",
});
console.log(JSON.stringify(instance.additionalData, null, 2));
这是我希望此脚本输出的内容:
{
"otherField": 123,
"more": ["data" ],
"foo": "bar"
}
【问题讨论】:
标签: node.js typescript class-transformer