我开始学习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是单个项目的属性。 –