繁体   English   中英

如何在Mat Table中打印此特定JSON?

[英]How to print this specific JSON in a Mat Table?

我有一个不允许更改的特定JSON文件,它看起来像这样:

{
"computers" : {
        "John" : {
            "version" : "1.42.0",
            "environment" : "Default",
            "platform" : "x64",
            "admin" : "true"
        },
        "Peter" : {
            "version" : "1.43.6",
            "environment" : "Default",
            "platform" : "x64",
            "admin" : "true"
        },
        "Eric" : {
            "version" : "1.43.6",
            "environment" : "Default",
            "platform" : "x64",
            "admin" : "false"
        }
}

我使用JSON.parse()方法来解析文件,然后将其放入MatTableDataSource

问题是,当我需要在MatTable显示它时,我无法真正按所需方式访问它。

我有一列要显示所有version参数的列,因此我不能说: this.dataSource.computers.????.version version

你们知道我要去哪里吗? 您是否知道我可以做些什么来解决这个问题?

期待阅读。

Angular mat-table要求输入数据位于数组中。 首先,我们使用Object.keys()提取键,其中将包含名称列表。 然后,我们可以将Object.values()用于数组格式的每个键中的其他值。 接下来是使用name列表中的name属性映射上述数组对象。

 const data = { "computers": { "John": { "version": "1.42.0", "environment": "Default", "platform": "x64", "admin": "true" }, "Peter": { "version": "1.43.6", "environment": "Default", "platform": "x64", "admin": "true" }, "Eric": { "version": "1.43.6", "environment": "Default", "platform": "x64", "admin": "false" } } }; const nameList = Object.keys(data.computers); const dataList = Object.values(data.computers).map((obj, index) => { obj['name'] = nameList[index]; return obj; }); console.log(dataList); 

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM