2017-11-28 4 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-Objectの後にConvertFrom-Jsonがうまく分割されます。

関連する問題