0

编写一些代码以从 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

期望字符长度被限制为这么多字符,但它返回一个空值

4

1 回答 1

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
于 2019-02-04T05:12:04.133 回答