注:この質問は、歴史的な理由または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...
フォーマットせずにターミナルに生の応答を印刷するだけではどうすればいいですか?
まず、-Method
および-ContentType
あなたが提供しているのがデフォルトです、それらをドロップできます。そして、jsonを取得するには、jsonにキャストします。
Invoke-RestMethod -Uri "http://example.com/" | ConvertTo-Json -Depth 10
なぜjsonにキャストしたいのかわかりませんが、それではここに行きます。
もう1つの答えはJSON応答に対してはうまく機能しますが、-UseBasicParsingスイッチはすべての応答タイプに対して機能します。
(Invoke-WebRequest -UseBasicParsing -Uri 'http://example.com').Content
は、応答コンテンツ(example.comの場合は生のhtml、またはユースケースの場合は生のJSON)のみを提供します。