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

Trying to limit string to 8000 characters before using data and I get nulls returned

正在编写一些代码以从 rest API 插入数据库。其中一个字段需要限制为 8000 个字符,我很难做到。

尝试了很多谷歌搜索。

$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

预期字符长度限制为这么多字符,但它returns一个空值

您需要执行 if 语句,因为如果少于 Length 个字符,.substring(Start Index, 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