2017-06-29 9 views
1

JSONデータで応答するAPIを使用してWebサイトを照会するPowerShellスクリプトを作成しようとしています。次に、選択されている2つの列の合計を取得します。私はPowerShellスクリプトの新機能ですが、これは単純なようですが、私は答えを見つけることができません。誰かが助けてくれると願っています。PowerShellで2つの列の合計を見つける方法は?

APIから返されるJSONの例:

{"getuserbalance":{"version":"1.0.0","runtime":4.3599605560303,"data":{"confirmed":0.05500048,"unconfirmed":0.00472891,"orphaned":0}}} 

これは私がこれまで持っているものです。

私を与える
$balance = 'www.example.com/index.php?page=api&action=getuserbalance' 
Invoke-WebRequest $balance | 
ConvertFrom-Json | 
Select -expand getuserbalance | 
select -expand data | 
select confirmed, unconfirmed 

confirmed unconfirmed 
--------- ----------- 
0.05500048 0.00472891 

方法についてはわかりませんこれら二つを一緒に加える。 Measure-Objectコマンドレットを見ましたが、2つの列を合計する方法はありませんでした。

あなたのお手伝いがありがとうございます。

おかげで、

Dragnan

答えて

1

あなただけの合計自体出力したい場合は、ForEach-Objectコマンドレットを使用します。

[pscustomobject] @{ name = 'foo'; confirmed = 1; unconfirmed = 2 } | 
    ForEach-Object { $_.confirmed + $_.unconfirmed } 

この利回り:

3 

スクリプトブロック({ ... })はすべての入力オブジェクトに対して呼び出され、スクリプトブロック内の自動変数$_は手元の入力オブジェクトを参照します。

結果を変数に代入するには、単にパイプラインの前に$sum =を置きます。 $sumは、の配列の値を受け取ります。

詳細については、Get-Help ForEach-Objectを実行してください。


あなたはにしたい場合は計算プロパティ使用し、合計を含む列を追加します。詳細については

confirmed unconfirmed combined 
--------- ----------- -------- 
     1   2  3 

[pscustomobject] @{ name = 'foo'; confirmed = 1; unconfirmed = 2 } | 
    Select-Object confirmed, unconfirmed, @{ n='combined'; e={ $_.confirmed + $_.unconfirmed } } 

にこの利回りを計算された特性は、this answerの鉱山を参照してください。

関連する問題