注意:此问题出于历史原因或Powershell<的用户。 6.0.0。在Powershell 6及更高版本中不应出现此问题。
我正在尝试使用powershell cmdlet Invoke-RestMethod
将json端点打印到控制台。
命令成功执行,但最终结果是包含所有json的1级字段的终端表。
我正在运行这样的cmdlet:
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...
如何在没有格式化的情况下将原始响应打印到终端?
答案 0 :(得分:7)
首先,您提供的-Method
和-ContentType
是默认值,您可以删除它们。为了得到json,把它扔回json。
Invoke-RestMethod -Uri "http://example.com/" | ConvertTo-Json -Depth 10
我不知道你为什么要回到json,但好吧,你走了。
答案 1 :(得分:3)
另一个答案适用于JSON响应,但-UseBasicParsing开关适用于任何响应类型:
(Invoke-WebRequest -UseBasicParsing -Uri 'http://example.com').Content
将只提供响应内容(在example.com案例中,原始html或在您的用例中,原始JSON)。