TypeScript 如何讓 Plain Object 轉成 Class 物件
TypeScript 如何讓 Plain Object 轉成 Class 物件 Plain Object , 在Java稱為 POJO(Plain Ordinary Java Object), 有時候會稱為DTO,指的就是沒有邏輯處理的物件,只有geter 和 seter ,那我們常把此Raw Data 變成有需要邏輯處理的方法的物件,就可以用等下介紹套件來解決 使用情境 export class Test{ name = 'World' ; public sayHello(): void { console .log( 'hello ' + this .name); } } 一般我們會將物件序列化為JSON string const o = new Test(); const jsonS = JSON .stringify(o) 然後將json string 存起來 然後之後還原回來,作使用 const ino:Test = JSON .parse(jsonS); ino.sayHello(); // 這時候會報錯 undefined method 結果會發現報錯 undefined method 解決方法 npm 安裝 class-transformer npm i class-transformer 修改程式碼為 import { plainToClass } from 'class-transformer' ; ... const ino = JSON .parse(jsonS); const inPo = plainToClass(Test, ino); inPo.sayHello(); 這樣就解了 官方連結 : https://github.com/typestack/class-transformer 如果是巢狀結構的物件,要再做以下修改 import { Type } from 'class-transformer' ; ... export class Test{ name = 'Wor...