Powershell удаляет escape-символы при конвертации - PullRequest
1 голос
/ 15 апреля 2020

У меня есть несколько автоматически сгенерированных json файлов, которые мне нужно изменить с помощью PowerShell. Однако, когда я использую ConvertFrom-Json, я в некоторых случаях теряю символы.

Я пытался использовать

ForEach-Object {
    [System.Text.RegularExpressions.Regex]::Unescape($_)
}

для обработки символов unescape, но не повезло

Пример модифицируемой строки

<?xml version=\"1.0\" encoding=\"UTF-16\"?><ExchangeRates>

преобразуется в

<?xml version="1.0" encoding="UTF-16"?><ExchangeRates>

Потеря обратной косой черты.

Как бы мне обойти это без преобразования непреднамеренных частей файла?

1 Ответ

0 голосов
/ 16 апреля 2020

Я переделал тестирование в чистой среде и обнаружил, что у меня есть нечто, обеспечивающее кодировку UTF8, когда я загружал содержимое в объект сына в PowerShell, что в этом случае приводит к преобразованию символов в escape-символы, что приводит к в моем случае они заменяются ничем

tldr; Форматирование UTF8 при выполнении convertfrom- json вызывало проблему

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...