Node.js 如何将对象中的类序列化为字符串
我有以下对象Node.js 如何将对象中的类序列化为字符串,node.js,typescript,Node.js,Typescript,我有以下对象icoreflestat,在服务器端,URI将是使用创建的类。如何仅将URI递归转换为字符串 export interface ICoreFileStat extends ICoreBaseStat { children?: ICoreFileStat[]; } export interface ICoreBaseStat { resource: URI | string; name?: string; } 我所期望的是,上面对象中的URI将被转换为stringlike
icoreflestat
,在服务器端,URI将是使用创建的类。如何仅将URI
递归转换为字符串
export interface ICoreFileStat extends ICoreBaseStat {
children?: ICoreFileStat[];
}
export interface ICoreBaseStat {
resource: URI | string;
name?: string;
}
我所期望的是,上面对象中的URI将被转换为string
like(file:///index.js)
它将是一个简单的对象,如下所示
const data = {
children: {
resource: "///file://tmp"
children: {
resource: "///file:/index.js"
}
}
这是我想出的解决办法。但我也希望看到其他解决方案
const serialize = (stat: IFileStat) => Object.keys(stat).reduce((result, name) => {
// console.log(result);
if (name === 'resource') {
return result = { ...stat, resource: stat[name].toString() };
} else if (name === 'children') {
return { ...result, ...{ children: stat[name].map(child => serialize(child as any)) } }
}
else {
return result
}
}, {});