Как декодировать строковые значения JSON в powershell и избавиться от кавычек в начале и в конце - PullRequest
0 голосов
/ 21 декабря 2018

Когда я вызываю некоторые конечные точки WCF, которые возвращают одну строку в формате JSON, она кодируется, это означает, что все новые строки были заменены на объекты в кодировке Юникод и заключены в ".Например:

"Something1\u000d\u000aSomething"

для декодирования юникод-сущностей, которые я делаю:

[regex]::Unescape($reader.ReadToEnd())

, но это оставляет меня с:

"Something1
Something"

таку меня остались лишние цитаты, от которых я хочу избавиться.

О каком решении я думал, и они не правы :

  1. Возьмите подстроку, чтобы исключить первый и последний символ.Это неверная причина, с некоторых конечных точек WEB API я не получаю эти кавычки.

  2. Замените все символы " методом ReplaceAll.Это неправильно, потому что он также заменит кавычки в середине сообщения.

1 Ответ

0 голосов
/ 21 декабря 2018

Я создал функцию:

function DecodeUnicodeAndTrimQuotes {
    Param ([string]$s)
    return [regex]::Unescape($s).Trim('"')
}

, которая все исправила.

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