如何在PowerShell中查询JSON记录

时间:2017-01-21 22:24:12

标签: json powershell

我在PowerShell中调用了一个REST API,它返回了一些JSON

$records = Invoke-RestMethod $uri -Headers $headers

如果我使用.data属性,我得到的是我假设的PowerShell数组对象,因为我可以检查$records.data.count并获得预期的记录数。检查其中一条记录,例如$records.data[5]

id            : 123
zone_id       : example.com
parent_id     : 
name          : z1
content       : 1.2.3.4
ttl           : 3600
priority      : 
type          : A
regions       : {global}
system_record : False
created_at    : 2015-01-10T02:33:46Z
updated_at    : 2015-01-10T02:33:46Z

我希望获得类型 A 的所有记录。我试过了$records.data.Where($_.type -eq 'A'),但这给了我一个类型例外。我应该使用什么查询来根据属性值进行过滤?

1 个答案:

答案 0 :(得分:2)

  

我已经尝试了$records.data.Where($_.type -eq 'A'),但这给了我一个类型例外。

Where()扩展方法将ScriptBlock作为其第一个参数(注意大括号):

$records.data.Where({$_.type -eq 'A'})