#json #powershell
Вопрос:
Мне нужно создать тело, как показано ниже, но одинарная кавычка вокруг ABC вызывает синтаксическую ошибку при запуске в PowerShell.
$Body = '{
“Tag”:"Reference='ABC'"
}'
Write-Host -Message "$Body"
Я попробовал следующее решение:
$MyVar = 'BRO001023'
$Body = '{
“Tag”:"Reference=$MyVar"
}'
Write-Host -Message "$Body"
НО я получил результат, как показано ниже.
{
“Filter”:"Reference=$MyVar"
}
Как я могу сделать так, чтобы это выглядело так { “TagFilter”:"Reference='ABC'" }
Ответ №1:
Вы можете либо использовать дословную/заключенную в одинарные кавычки здесь строку:
$Body = @'
{
"Tag":"Reference='ABC'"
}
'@
Или избежать всех встроенных '
, удвоив их:
$Body = '{
"Tag":"Reference=''ABC''"
}'
Дополнительные сведения о правилах цитирования для различных строковых литералов см. в разделе about_Quoting_Rules
справки
Комментарии:
1. Спасибо. Проблема решается в соответствии с рекомендациями.