如何在Powershell中解码JSON字符串值并摆脱开头和结尾的引号

时间:2018-12-21 10:34:02

标签: json regex powershell unicode

当我调用一些返回JSON格式的单个字符串的WCF端点时,它已被编码,这意味着所有新行都已更改为unicode实体,并包装在B*[A(1,2,1);A(1,2,2);A(1,2,3);A(1,2,4)] B*[A(1,3,1);A(1,3,2);A(1,3,3);A(1,3,4)] ... 中。像这样:

"

我要解码unicode实体:

"Something1\u000d\u000aSomething"

但是这给我留下了

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

所以我要删除多余的引号。

我正在考虑什么解决方案,他们错了

  1. 采用子字符串以排除第一个和最后一个字符。这是来自某些WEB API端点的错误原因,我没有得到这些引号。

  2. 使用"Something1 Something" 方法替换所有"个字符。这是错误的原因,因为它也会替换消息中间的引号。

1 个答案:

答案 0 :(得分:0)

我创建了一个函数:

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

解决了所有问题。