无法分析powershell中的多行数组
我的aws cli返回带有嵌套哈希的多行数组,我无法解析输出以从中获取适当的值无法分析powershell中的多行数组,powershell,Powershell,我的aws cli返回带有嵌套哈希的多行数组,我无法解析输出以从中获取适当的值 >Write-Host $a [ [ [ { "VolumeID": "vol-fxxxxxx" } ] ] ] 如果我执行$a[0],它将返回第一行,即“[”与增量索引相同。 如何解析此数组并从中获取volumeID? 谢谢 其他详情: 感谢您宝贵的回答。以下是上述对象的类名: > $a.getType()
>Write-Host $a
[
[
[
{
"VolumeID": "vol-fxxxxxx"
}
]
]
]
如果我执行$a[0],它将返回第一行,即“[”与增量索引相同。
如何解析此数组并从中获取volumeID?
谢谢
其他详情:
感谢您宝贵的回答。以下是上述对象的类名:
> $a.getType()
IsPublic IsSerial Name BaseType
-------- -------- ---- --------
True True Object[] System.Array
> $a | Where-Object ($_ -like "*Volume*")
> $a | ConvertFrom-Json
ConvertFrom-Json : Invalid JSON primitive:
Microsoft.PowerShell.Commands.Internal.Format.FormatEntryData.
At line:1 char:6
+ $a | ConvertFrom-Json
+ ~~~~~~~~~~~~~~~~
+ CategoryInfo : NotSpecified: (:) [ConvertFrom-Json], ArgumentException
+ FullyQualifiedErrorId : System.ArgumentException,Microsoft.PowerShell.Commands.ConvertFromJsonCommand
你好,Martin Brandl,Tessellingheckler我已经更新了你的问题,你能帮我解决同样的问题吗。
谢谢您可以使用where-object cmdlet
$a | where-object {$_ -like "*Volume*"}
有关where object cmdlet的详细信息,请参见:
谢谢,蒂姆。您可以使用where-object cmdlet
$a | where-object {$_ -like "*Volume*"}
有关where object cmdlet的详细信息,请参见:
谢谢,蒂姆
与增量索引相同
我无法理解增量索引是否也这样做,并返回第一行,但它看起来是:
多行字符串($A.gettype()
具有名称:string
):
或者,一个字符串数组($a.gettype()名称为Object[]或string[]
),首先执行此操作,然后从JSON转换:
$a = -join $a
与增量索引相同
我无法理解增量索引是否也这样做,并返回第一行,但它看起来是:
多行字符串($A.gettype()
具有名称:string
):
或者,一个字符串数组($a.gettype()名称为Object[]或string[]
),首先执行此操作,然后从JSON转换:
$a = -join $a
您可以发布
$a.GetType()
的输出吗?$a
是否只是一个多行字符串,$a[0]
返回[
,因为这是第一个字符?您可以发布$a.GetType()
的输出吗$a
是否只是一个多行字符串,$a[0]
返回[
因为这是第一个字符吗?$b[0]。卷ID
似乎足够了,尽管有嵌套数组。$b[0]。卷ID
似乎足够了,尽管有嵌套数组。