【发布时间】:2017-03-01 23:28:43
【问题描述】:
我正在使用 PowerShell 4 发出一系列 Web 请求。通过一次调用,我得到了一个通用数组——为了讨论,它看起来像这样
$data = '[{"Id":"1","Name":"One"},{"Id":"2","Name":"Two"}]'
我正在尝试解析这些数据以提取 Name 属性。但是,当我使用以下调用时,它会写一行 Name 并且下面没有任何信息:
$data | ConvertFrom-Json | Select-Object Name
但是,如果我将对象保存到这样的中间对象,它就可以工作:
$o1 = $data | ConvertFrom-Json
$o1 | Select-Object Name
我得到了正确的输出。
对象类型不同,但我不明白为什么。以下是相关 Get-Member 调用的输出:
$test | ConvrtFrom-Json | gm
TypeName: System.Object[]
和
$o1 | gm
TypeName: System.Management.Automation.PSCustomObject
谁能帮助我了解我在收藏管理方面做错了什么?我希望能够在一份声明中做到这一点。
【问题讨论】:
-
($data | ConvertFrom-Json) | Select-Object Name -
啊......荒谬......它与括号一起使用。想要将其发布为答案?
标签: json powershell