web-dev-qa-db-ja.com

Invoke-RestMethodに応答本文をそのまま印刷させるにはどうすればよいですか

注:この質問は、歴史的な理由またはPowershell 6.0.0未満のユーザー向けです。この問題は、Powershell 6以降では発生しません。

私はpowershellコマンドレットを使用しようとしていますInvoke-RestMethod jsonエンドポイントをコンソールに出力します。

コマンドは正常に実行されますが、最終結果はjsonのレベル1フィールドをすべて含む端末テーブルです。

私はこのようなコマンドレットを実行しています:

Invoke-RestMethod -Uri <some url here> -Method GET -ContentType "application/json"

そして、次のようなものを得ます:

sections _links
-------- ------
         {@{rel=parent; href=https://us9.api.mailchimp.com/3.0/templates/138...

フォーマットせずにターミナルに生の応答を印刷するだけではどうすればいいですか?

6
Nitzankin

まず、-Methodおよび-ContentTypeあなたが提供しているのがデフォルトです、それらをドロップできます。そして、jsonを取得するには、jsonにキャストします。

Invoke-RestMethod -Uri "http://example.com/" | ConvertTo-Json -Depth 10

なぜjsonにキャストしたいのかわかりませんが、それではここに行きます。

8
4c74356b41

もう1つの答えはJSON応答に対してはうまく機能しますが、-UseBasicParsingスイッチはすべての応答タイプに対して機能します。

(Invoke-WebRequest -UseBasicParsing -Uri 'http://example.com').Content

は、応答コンテンツ(example.comの場合は生のhtml、またはユースケースの場合は生のJSON)のみを提供します。

3
NH.