PowerShell(v5)为什么不按键对对象数组排序?
'[{"key":"f5"},{"key":"f1"},{"key":"f8"}]' | ConvertFrom-Json | sort key
key
---
f5
f1
f8
尝试的其他变体包括... | Sort-Object -Property {$_.key}
答案 0 :(得分:4)
答案是,当直接通过管道传递数据时,每个对象分别单独到达到达Sort-Object cmdlet,然后将其吐出。
解决方案是使用方括号将整个数组传递给Sort:
('[{"key":"f5"},{"key":"f1"},{"key":"f8"}]' | ConvertFrom-Json) | sort key
key
---
f1
f5
f8