Мой вопрос похож на этот вопрос:
Файл JSON в PowerShell и обратно в файл JSON
При импорте и экспорте шаблонов ARM в powershell, используя Convert-FromJson
и Convert-ToJson
, вводятся escape-последовательности Юникода.
Я использовал код здесь , чтобы снова скрыться.
Пример кода (mutltiline для ясности):
$armADF = Get-Content -Path $armFile -Raw | ConvertFrom-Json
$armADFString = $armADF | ConvertTo-Json -Depth 50
$armADFString |
ForEach-Object { [System.Text.RegularExpressions.Regex]::Unescape($_) } |
Out-File $outputFile
Вот документ, который я читал для Unescape
В результате выходной файл будет идентичным , за исключением , когда все экземпляры литерала \n
(которые были в исходном файле JSON) превращаются в фактические возвраты каретки. Что нарушает шаблон ARM.
Если я не включу код Unescape, \n
сохраняются, но также и символы Юникода, которые также нарушают шаблон ARM.
Похоже, мне нужно предварительно покинуть \n
, поэтому, когда я звоню в Unescape, они превращаются в симпатичный маленький \n
. Я пробовал пару вещей, таких как добавление этого перед вызовом unescape.
$armADFString = $armADFString -replace("\\n","\u000A")
Что не дает мне результатов, которые мне нужны.
Кто-нибудь сталкивался с этим и решил? Есть ли опытные художники по побегу?