2016-05-24 17 views
-1

私は、invoke-restmethodを使って動作するpowershellスクリプトを持っています。結果はJSONの結果を取り戻しています。私はアクションをとるために、if文を書く必要があります。たとえばstatus = doneの場合はアプリケーションを終了する必要がありますが、status =進行中の場合は20分待ってからprogressURLという別のフィールドを確認してください。Powershellのinvoke-restmethod then if文の結果が得られない

ifステートメントで使用するキーに基づいてJSON値を抽出するにはどうすればよいですか?ここで

は私が持っているものです:$応答=ここでJSON

返品起動-RestMethod WORKING要求は、JSONレスポンス

{ 
    "status": done, 
    "Links": { 
    "AdditionalData": "someURL1", 
    "Otherurl": "someURL2", 
    "progressURL": "someURL3" 
    } 
"ID": 1 
} 

である私は、JSONである$応答を取るとする必要がありますif文に使用する値を抽出することができます。

+1

あなたは、これまでにあなたのコードを追加して、あなたの投稿を編集することはできますか? –

+0

はい、それをサンプルで更新しました。 –

+0

貼り付けたjsonが無効です。これは問題を引き起こしている可能性があります。 'done'を引用符で囲み、最後に'} 'を追加すると、' ConvertFrom-Json'はそれを扱えるオブジェクトに変換することができます。実際の 'Invoke-RestMethod'コマンドと、問題がサーバかスクリプトかを判断するのに役立つ場合は、実行するために使用しているスクリプトを与えなければなりません。 –

答えて

-1

ConvertFrom-Jsonコマンドレットを使用して結果を標準のPowerShellオブジェクトに変換したい場合は、そこから標準的なブール比較を行って、必要な場所に移動します。

は、ここであなたが始めるためにConvertFrom-JSONのドキュメントです:私たちはいくつかのコンテキストを持つように https://technet.microsoft.com/en-us/library/hh849898.aspx

+1

)invoke-restmethodは、 "Windows PowerShellは、データ型に基づいてレスポンスをフォーマットしますRSSまたはATOMフィードの場合、Windows PowerShellはItemまたはEntry XMLノードを返します.JavaScript Object Notation(JSON)コンテンツをオブジェクトに変換(または逆シリアル化)します。 –

+0

私はこのエラーを受け取ります:ConvertFrom-Json:無効なJSONプリミティブ:。 –

関連する問題