powershell 遍历json_如何从Powershell脚本读取JSON数据并遍历它

我开始学习Powershell,我正在尝试读取JSON文件。如何从Powershell脚本读取JSON数据并遍历它

这里是我的JSON文件(名为“versions.json”):

{

"versions": {

"1.0.0": {

"Component1": "1.0.0",

"Component2": "1.0.0",

"Component3": "1.0.0",

},

"2.0.0": {

"Component1": "2.0.0",

"Component2": "2.0.0",

"Component3": "2.0.0"

}

}

}

我想在这个JSON文件的读取和打印出来的版本和它们包含的内容。例如,1.0.0由1.0.0的组件1,1.0.0的组件2和1.0.0的组件3组成。

我目前正在读与本Powershell的行JSON文件:

$json = (Get-Content "versions.json" -Raw) | ConvertFrom-Json

现在,我想通过$ JSON遍历并打印出它的数据。我目前使用这样的:

foreach($v in $json.versions) {

echo "Data: $v"

}

但是,当我运行PowerShell脚本,它打印:

Data: @{1.0.0=; 2.0.0=}

这是正确的输出?我期待至少看到1.0.0和2.0.0的两个条目。这感觉可能是一个语法问题,但我不确定。我使用PowerShell的版本5

2017-08-07

Roka545

+0

的“$ V”在原岗位缺失。我修复了它。 –

+1

这不是一个集合,这就是为什么你不能迭代它。如果你做'$ json.versions | get-member'你会看到1.0.0和2.0.0是单个项目的属性。 –

你可能感兴趣的:(powershell,遍历json)