不知道类的属性名,怎么获取对象属性的值。
class Test {
id: Number
name: String
}
不知道id也不知道name。假设Test是jason数据,解析出来可能是如上的
,也可能:
class Test {
id2: Number
name2: String
}
的情况,如何获取类型名和值。
那可以使用:(假设test为Test的一个对象)
Object.values(test)可以获取所有的value,即不通过keys直接获取到values了。
也可以通过:Object.keys(test)获取到所有的keys了,即属性名。
实际例子:
private setNewVersion(datas: rserver.ResultInfo[]) {
if (datas) {
for (const data of datas) {
data['NewSoftVersion'] = [];
if (data.SoftVersion.startsWith('[{') && data.SoftVersion.endsWith('}]')) {
const vs = JSON.parse(data.SoftVersion);
vs.forEach(v => {
data['NewSoftVersion'].push({
'type': Object.keys(v)[0],
'version': v[Object.keys(v)[0]]
});
});
} else {
data['NewSoftVersion'].push({
'type': data.TypeName,
'version': data.SoftVersion
});
}
}
}
}
网友评论