PowerShell не сортирует массив объектов

#powershell

#powershell

Вопрос:

Почему PowerShell (v5) не сортирует этот массив объектов по ключу?

 '[{"key":"f5"},{"key":"f1"},{"key":"f8"}]' | ConvertFrom-Json | sort key
  
 key
---
f5
f1
f8
  

Другие опробованные варианты включают ... | Sort-Object -Property {$_.key}

Ответ №1:

Ответ заключается в том, что при прямой передаче данных каждый объект поступает отдельно и индивидуально в командлет Sort-Object, и он просто выдает его.

Решение состоит в том, чтобы передать весь массив для сортировки с помощью скобок:

 ('[{"key":"f5"},{"key":"f1"},{"key":"f8"}]' | ConvertFrom-Json) | sort key
  
 key
---
f1
f5
f8
  

Комментарии:

1. Хммм … это немного похоже на управление репутацией, если вы задаете вопрос и публикуете ответ в течение той же минуты..

2. Честно говоря, я нашел ответ при формулировании вопроса, и всегда есть возможность ответить самостоятельно, поэтому я его пробую. У меня возник реальный вопрос, на который ни поиск Google, ни stackoverflow не отвечали (по крайней мере, не так, как я его сформулировал). Никогда не видел урожая этого репутационного хозяйства, о котором вы говорите 😉