【问题标题】:How to output json object returned from REST api in powershell?如何在powershell中输出从REST api返回的json对象?
【发布时间】:2014-06-23 17:52:38
【问题描述】:

我正在尝试向控制台输出一个在我调用 URL 时返回的 json 对象:

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

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

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

有没有办法直接将json对象输出到控制台而不保存在文件中?

【问题讨论】:

    标签: json http rest powershell


    【解决方案1】:

    肯定有:请参阅 ConvertTo-JsonConvertFrom-Json cmdlet。这些将与 JavaScript Object Notation 文本格式相互转换为自定义 PSObject,您可以使用常规交易技巧进行查询和操作。

    【讨论】:

    • 浪子回来了。 ;-)
    • 哈...是的,我知道我已经缺席了几个月了。也很难打败像你这样的 MVP buggers :D
    • 谢谢,效果很好。出于某种原因,它不会让我将您的答案标记为正确?一直说“发生错误”。我一会儿再试。
    • @SKLAK:您现在应该可以将此答案标记为答案 ;-)
    【解决方案2】:

    这可能是更直接的方法;如果 API 返回 JSON,那么它会尽可能转换为 PSObject*。

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

    *if possible 表示“只要 JSON 不太大”。另见:

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-03-01
      • 2020-05-24
      • 1970-01-01
      • 2020-07-23
      • 2022-01-19
      相关资源
      最近更新 更多