前言:今天开发数据库的过程中,需要用到 Map转对象的逻辑,开始参考 TS 那种方式,自定义 Class,再写构建函数的方式,这种适合固定属性的方法,假如对象的属性不固定,就不太适合,此情景下,我们可以 Map---->Json----->Class 对象。
方法如下:
class Person{
name?:string = ''
width?:string = ''
height?:string = ''
}
let mapSource = new Map<string, string>();
mapSource.set('name', 'lxlx');
mapSource.set('width', '100kg');
mapSource.set('height', '250cm');
let jsonObject: Record<string, Object> = {};
mapSource.forEach((value, key) => {
if (key !== undefined && value !== undefined) {
jsonObject[key] = value;
}
})
let jsonInfo: string = JSON.stringify(jsonObject);
let person = JSON.parse(jsonInfo)
console.log('person:', JSON.stringify(person))
@Entry
@Component
struct Index {
build() {
Column() {
Button('Map to Model')
.onClick(() => {
console.log('jsonInfo:', jsonInfo); // jsonInfo: {"name":"name1","width":"100","height":"50"}
console.log('person:', JSON.stringify(person))
})
}
}
}