我正在运行Powershell 2.0。我是Powershell的新手,我每天都使用它来运行一个php脚本,所以我不必自己在浏览器中不断调用url。我似乎工作得很好,但我似乎无法让Json从Invoke-RestMethod返回。这是我正在使用的代码:
$limit = 200;
for ($i=1; $i -le $limit; $i++)
{
Write-Host $i started of $limit
$Site = "http://example.com/updates"
$Info = Measure-Command{
$data = @{call_type = 'powershell'}
$resp = (Invoke-RestMethod -Method Post -URI $Site -Body $data -TimeoutSec 500).results
}
Write-Host resp - On $resp.date, $resp.num were downloaded
Write-Host $i took $Info.TotalSeconds s
Write-Host ---------------------------------------
}
PHP脚本传回一个json字符串,如:
{date: '2014-09-30', num: 127569}
任何帮助都会很棒。
答案 0 :(得分:2)
您不需要.results
。 Invoke-RestMethod
会自动将JSON转换为[PSObject]
。
如果您想获取原始JSON,请使用Invoke-WebRequest
,但由于您引用了$resp.date
和$resp.num
,因此您似乎希望它能为您进行转换。< / p>