返回变量的数据类型在调用方法中发生更改

问题描述 投票:0回答:1

方法

assetId
one()
的数据类型是
Int64
。但是当我在该方法之外打印返回的变量时,数据类型现在是一个对象。

function one(){        
    $response = Invoke-WebRequest -Uri $finalizeUrl -Method 'POST' -Body $createResponse.Content -Headers @{"Authorization" = $authToken; "Content-Type" = "application/json" }    
    $responseObject = $response.Content | ConvertFrom-Json 
    
    $assetId = $responseObject.asset_id
    Write-Host $assetId
    Write-Host "Type of assetId in function one: " ($assetId.GetType().Name)
    return $assetId
}

$asset_id = one
Write-Host $asset_id
Write-Host "Type of asset_id outside one: " ($asset_id.GetType().Name)

输出:

140863
函数一中assetId的类型:Int64

{"成功":true,"消息":null} 140863
函数一外部 asset_id 的类型:Object[]

我在这里做错了什么。

powershell
1个回答
0
投票

从输出来看,请求的状态消息似乎与函数返回中的

asset_id
结合在一起,因此它作为对象返回。我认为您的实际代码中可能有一些附加代码可能已返回它。您可以通过将状态消息分配给另一个变量来解决此问题

$request_status, $asset_id = one
© www.soinside.com 2019 - 2024. All rights reserved.