如何在powershell中输出REST api返回的json对象



我正在尝试输出控制台json对象,当我调用URL时返回:

http://localhost:999/api/randomObjects/19

其中randomObjects是对象的类型,19是对象的ID。到目前为止,我在powershell中得到json输出到控制台的唯一方法是使用webclient并将json保存到一个文件夹中,然后输出。

$storageDir = "C:Pathtofolder"
$webclient = New-Object System.Net.WebClient
$url = "http://localhost:999/api/randomObjects/19"
$file = "$storageDir/demofile.json"
$webclient.DownloadFile($url,$file)
cat $file

是否有一种方法可以直接输出json对象到控制台而不将其保存在文件中?

肯定有:参见ConvertTo-JsonConvertFrom-Json的cmdlet。这些将从JavaScript Object Notation文本格式转换为您可以使用常规交易技巧查询和操作的自定义PSObject

这可能是一个更直接的方法;如果API返回JSON,那么它将在可能的情况下转换为PSObject *.

$response = Invoke-RestMethod -Uri http://localhost:999/api/randomObjects/19

*if possible表示"只要JSON不是太大"。参见:

  • Invoke-RestMethod不能从JSON中创建PS对象

最新更新