typescript - 使用 Partial<> 的嵌套类序列化
问题描述
我想知道是否有一种(好的)方法可以从 json 在 typescript 中创建嵌套类?
我成功地实现了这样的目标:
export class ImportEntity {
public status: string;
public Items: Item[];
constructor(data: Partial<ImportEntity>) {
Object.assign(this, data);
this.mappingItems = [];
if (data.Items)
data.Items.forEach(item => {
this.Items.push(new Item(item));
});
}
}
export class Item {
public column: string;
public type: string;
constructor(data: NestedPartial<MappingItem>) {
Object.assign(this, data);
}
}
但是手动处理嵌套类似乎真的很奇怪(从Java的角度来看:p)
谢谢。
解决方案
也许你可以使用包 serializer.ts ?https://www.npmjs.com/package/serializer.ts
来自文档:
import {Type} from "serializer.ts/Decorators";
export class Album {
id: number;
name: string;
@Type(() => Photo)
photos: Photo[];
}
export class Photo {
id: number;
filename: string;
}
let album = deserialize<Album>(Album, albumJson);
推荐阅读
- c++ - ROS环境中的构建错误(catkin)
- c# - 关于设置 DataGrid DataContext 的 ArgumentOutOfRange
- java - 如何填充动态 XFA 表单(itext 7)的动态内容?
- generics - Kotlin:通用变量
- r - 运行 r 脚本后退出命令提示符
- firebase - 需要存储在 Google Database 中的 python 文件在 Google Cloud Engine 中编译并将数据返回到 IOS 应用程序
- laravel - Laravel where 行为异常
- java - 如何在 React 中跟踪用户?
- php - Laravel 5.7 当我转储它时,我的参数返回的模型为空
- wordpress - 如何启用 ZipArchive 错误:导出滑块文件格式错误!这可能是因为未启用 ZipArchive 扩展