当我调用一些返回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())
所以我要删除多余的引号。
我正在考虑什么解决方案,他们错了:
采用子字符串以排除第一个和最后一个字符。这是来自某些WEB API端点的错误原因,我没有得到这些引号。
使用"Something1
Something"
方法替换所有"
个字符。这是错误的原因,因为它也会替换消息中间的引号。
答案 0 :(得分:0)
我创建了一个函数:
function DecodeUnicodeAndTrimQuotes {
Param ([string]$s)
return [regex]::Unescape($s).Trim('"')
}
解决了所有问题。