Попытка ограничить строку до 8000 символов перед использованием данных, и я получаю нулевые значения - PullRequest
0 голосов
/ 04 февраля 2019

Написание кода для вставки из остальных 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

Ожидается, что длина символа будет ограничена таким количеством символов, новозвращает нулевое значение

1 Ответ

0 голосов
/ 04 февраля 2019

Вам нужно будет выполнить оператор , если , например .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
...