2017-04-20 89 views
2

我有一个json对象存储在一个变量中。从json对象中,我想获取匹配值的节点。例如 - 其机号12项目从JSON文件中选择一个与属性值匹配的节点

的json看起来像

{ 
    "items": [ 
       { 
        "id": "asdasd", 
        "machineId": "12", 
        "placementGroup": "", 
        "region": "158", 
        "staticIp": "", 
        "staticIpAction": "", 
        "subnetIDs": [ 

           ] 

       }, 
       { 
        "id": "asdasd", 
        "machineId": "43", 
        "placementGroup": "", 
        "region": "158", 
        "staticIp": "", 
        "staticIpAction": "", 
        "subnetIDs": [ 

           ] 
       } 
      ] 
} 

回答

1

负载使用Get-Content cmdlet,并把它转换使用ConvertFrom-Json cmdlet来JSON的JSON。选择节点和由期望过滤它使用Where-Object cmdlet的设备ID

Get-Content 'yourPathToYour.json' | 
    ConvertFrom-Json | 
    Select-Object -ExpandProperty items | 
    Where-Object machineId -eq 12 

输出:

id    : asdasd 
machineId  : 12 
placementGroup : 
region   : 158 
staticIp  : 
staticIpAction : 
subnetIDs  : {} 
+0

当心'ConvertFrom-Json'要求3的PowerShell +。 –

+0

@MarkWragg好点。 –

相关问题