如何在PowerShell中将PSCustomObject转换为数组?

时间:2019-12-18 18:18:56

标签: powershell

我下面有一个用ConvertFrom-Json命令解析的JSON文件:

{
  "item1": {
    "class": "class1",
    "price": "price1"
  },
  "item2": {
    "class": "class2",
    "price": "price2"
  }
}

这将创建一个具有两个属性PSCustomObjectitem1的{​​{1}}。它产生以下输出:

item2

我需要的是一个打印的数组:

item1                         item2
-----                         -----
@{class=class1; price=price1} @{class=class2; price=price2}

请注意,我无法修改JSON文件的内容。

非常感谢您提供任何帮助。

1 个答案:

答案 0 :(得分:3)

在我的同事的代码中找到了解决方案:

$json = Get-Content -Path "<file-path>" | ConvertFrom-Json;
$json.PSObject.Properties | ForEach-Object { [PSCustomObject] @{
    name = $_.Name;
    class = $_.Value.class;
    price = $_.Value.price;
}}