尝试在使用数据之前将字符串限制为8000个字符,但返回空值

时间:2019-02-04 04:53:59

标签: powershell substring select-object

编写一些代码以从rest API插入数据库。其中一个字段必须限制为8000个字符,我无法这样做。

尝试了很多Google搜索。

$searchResultsResponse = Invoke-RestMethod -Method GET -Uri $searchResultsUri -ContentType application/json -Header $requestHeader
$dt = $searchResultsResponse.fields | Select -Property @{label="val";expression={$_.value.Substring(0,8000)}},displayName,name

期望将字符长度限制为这么多字符,但它会返回空值

1 个答案:

答案 0 :(得分:1)

您需要执行 if 语句,因为如果少于.substring(Start Index, Length)个字符,Length将引发错误:

$(if($_.Length -gt 8000){$_.Substring(0,8000)}else{$_})

检查Length是否大于(-gt)8k,然后使用substring(),否则按原样发送:

$searchResultsResponse = Invoke-RestMethod -Method GET -Uri $searchResultsUri -ContentType application/json -Header $requestHeader 
$dt = $searchResultsResponse.fields | Select -Property @{label="val";expression={$(if($_.Length -gt 8000){$_.Substring(0,8000)}else{$_})}},displayName,name