c# - Elegant way to filter a complex array of objects -
so have object following properties in powershell (this json representation containing 1 item):
"networkresourcepermittedusers": [ { "permitteduser": { "username": "somedomain\\someuser" }, "securityaccesslevel": { "level": "read" }, "securityaccessmode": { "mode": "allow" } } ]
what want filter networkresourcepermittedusers
array based on level
field inside securityaccesslevel
, basically: securityaccesslevel.level
in linq like:
networkresourcepermittedusers.any(x => x.securityaccesslevel.level.equals("myvalue"))
i know in powershell can use like:
$networkresourcepermittedusers -contains "value"
but in case, -contains
parameter assumes have array composed of value objects (string
, int
, etc)
so there way use -contains
parameter filter complex object graph??
something like:
#this bad code -- doesn't work $networkresourcepermittedusers -contains "myvalue" -path securityaccesslevel.level
you can't use -contains operator, can use pipeline similar linq:
$networkresourcepermittedusers | where-object { $_.securityaccesslevel.level -eq 'myvalue' }
Comments
Post a Comment