如何访问 Restful API 返回的字段值
How do I access the value of a field returned by a Restful API
我有一个非常基本的要求来调用 RESTful API。我目前在使用 PowerShell 版本 4 的 Windows 2012 R2 服务器上。
这是我的代码:
$logon = @{
username = 'blah'
password='blah'
}
$body = $logon | ConvertTo-Json
$URI = 'https://URL/Logon'
Invoke-WebRequest -URI $URI -Method POST -Body $body -ContentType 'application/json' -Verbose
我得到以下结果:
{"LogonResult":"blahblahblah"}
如何仅提取登录令牌以作为变量重复使用?我已经在命令的开头放置了一个变量:
$token = (Invoke-WebRequest -URI $URI -Method POST -Body $body -ContentType 'application/json' -Verbose).content
这 returns 整个结果,而不仅仅是令牌。结果如何只获得令牌?
可以得到返回的LogonResult
属性的值如下:
$token = ((Invoke-WebRequest -URI $URI -Method POST -Body $body -ContentType 'application/json' -Verbose).content | ConvertFrom-JSON).LogonResult
或者您通过使用 Invoke-RestMethod
来简化它,因为这 returns 只是内容并自动将其转换为 PSObject:
$token = (Invoke-RestMethod -URI $URI -Method POST -Body $body -ContentType 'application/json' -Verbose).LogonResult
我有一个非常基本的要求来调用 RESTful API。我目前在使用 PowerShell 版本 4 的 Windows 2012 R2 服务器上。
这是我的代码:
$logon = @{
username = 'blah'
password='blah'
}
$body = $logon | ConvertTo-Json
$URI = 'https://URL/Logon'
Invoke-WebRequest -URI $URI -Method POST -Body $body -ContentType 'application/json' -Verbose
我得到以下结果:
{"LogonResult":"blahblahblah"}
如何仅提取登录令牌以作为变量重复使用?我已经在命令的开头放置了一个变量:
$token = (Invoke-WebRequest -URI $URI -Method POST -Body $body -ContentType 'application/json' -Verbose).content
这 returns 整个结果,而不仅仅是令牌。结果如何只获得令牌?
可以得到返回的LogonResult
属性的值如下:
$token = ((Invoke-WebRequest -URI $URI -Method POST -Body $body -ContentType 'application/json' -Verbose).content | ConvertFrom-JSON).LogonResult
或者您通过使用 Invoke-RestMethod
来简化它,因为这 returns 只是内容并自动将其转换为 PSObject:
$token = (Invoke-RestMethod -URI $URI -Method POST -Body $body -ContentType 'application/json' -Verbose).LogonResult