2017-11-28 16 views
0

이것은 직설적 인 것처럼 보이지만 왜 Powershell에 문제가 있는지 잘 모르겠습니다.json 혼합 유형에서 false가 아닌 첫 번째 값 가져 오기

데이터를 Node.js에서 JSON으로 변환하고 나서 false이 아닌 첫 번째 개체를 가져 오려고합니다.

(Invoke-WebRequest -UseBasicParsing -Uri "https://nodejs.org/dist/index.json").Content | 
    ConvertFrom-Json | ? { $_.lts -ne 'False' } 

나는 또한 시도했지만이 중 하나가 작동하지 않았다 :

| ? { -not (-not $_.lts) } 

실제로 나에게 첫 번째 값을하지 않는 이상 알고있다. 아직 그 해결책을 찾지 못했습니다. 그러나 그것으로도 도움이 될 것입니다! 나는 그것이 작동하는 변수에 JSON 값을 설정할 때

[ 
    {"lts": false}, 
    {"lts": 'Carbon'} 
] 

You can see the complete data set here.

업데이트

:

데이터 세트는이 같은 것입니다. 이상한.

답변

1
Invoke-WebRequest -UseBasicParsing -Uri 'https://nodejs.org/dist/index.json' ` 
    |% Content ` 
    | ConvertFrom-Json ` 
    |% { $_ } ` 
    |? lts -ne $False ` 
    ; 

ConvertFrom-Json 레코드별로 레코드를 처리 할 수 ​​분해되어야 Object[]에 JSON 배열로 변환한다. ForEach-ObjectConvertFrom-Json 이후로 멋지게 나뉩니다.