powershell - 使用windows powershell 5.1从json变量中获取值
问题描述
我有这样的 JSON
[
{
"Param1":true,
"Param2":0,
"Param3":"OK"
...
...
}
]
如何使用 powershell 5.1 获取 Param2 值?现在,我试图获取属性名称,但只获取长度
$jsondeconverted = $jsonOrig | ConvertFrom-Json
$jsonOrig .PsObject.Properties |
Select-Object -ExpandProperty Name |
ForEach-Object {
Write-Host "Key : " $_
Write-Host "Value : " $thisJSON."$_"
}
编辑 这就是我得到我的json的方式
$jsonvar = '['+$jsonvar+']'
$convertedJson = $jsonvar | ConvertTo-Json -Depth 10
$deconvertedJson = $convertedJson | ConvertFrom-Json
$deconvertedJson 仅包含长度参数,仅此而已。
解决方案
您需要查看对象 ( $jsondeconverted
) 而不是字符串 ( $jsonOrig
)
根据您的 json 结构,您可以通过以下方式访问 param2$jsondeconverted[0].Param2
可验证的完整示例
$jsonorig = '[{"Param1":true,"Param2":0,"Param3":"OK"}]'
$jsondeconverted = $jsonorig | ConvertFrom-Json
$jsondeconverted[0].param2