编写一些代码以从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
期望将字符长度限制为这么多字符,但它会返回空值
答案 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