PowerShell:从 Json 获取键和值

PowerShell: Get Key and Value from Json

我有以下 Json:

{
    "variable1" : "variable2"
}

我不知道 variable1variable2 的值是多少。我需要从 Json 中获取它们,大概是使用两个以某种方式使用 ConvertFrom-Json 的单独命令。它们应该以纯文本格式返回,而不是任何 PS 自定义对象或类似的东西。

您可以使用 Out-File.

将键和值导出为纯文本
$json=@'
{
    "variable1": "variable2",
    "variable3": "variable4",
    "variable5": "variable6"
}
'@|ConvertFrom-Json -AsHashtable

PS /~> $json

Name                           Value
----                           -----
variable3                      variable4
variable5                      variable6
variable1                      variable2

PS /~> $json.Keys
variable3
variable5
variable1

PS /~> $json.Values
variable4
variable6
variable2

编辑:

归功于@Vivere,不知道 -AsHashTable 是在 PS Core 上引入的。假设测试是在 PS 5.1 上执行的,这里是如何获得相同结果的方法。如果 JSON 更深入,请查看他在下面的评论中提供的 link。

PS /~> $json=@'
{
    "variable1": "variable2",
    "variable3": "variable4",
    "variable5": "variable6"
}
'@|ConvertFrom-Json

PS /~> $json.psobject.Properties.Name
variable1
variable3
variable5

PS /~> $json.psobject.Properties.Name|%{$json.$_}
variable2
variable4
variable6