我正在尝试使用powershell将从aws cli检索到的json字符串转换为json对象。但是在某些情况下,字符串包含无法解码的特殊字符:
'charmap' codec can't encode character '\u2192' in position 681: character maps to <undefined>
完整的错误是:
ConvertFrom-Json: Scripted.ps1:18:19
Line |
18 | $res = $res | ConvertFrom-Json
| ~~~~~~~~~~~~~~~~
| Conversion from JSON failed with error: Unexpected end when reading token. Path 'Findings[98]'.
我使用的代码是:
$res = aws securityhub get-findings
$res = $res | ConvertFrom-Json
有没有办法删除这个字符或正确解码?
在@bcbabrich回答之后,我补充道:
$enc = [System.Text.Encoding]::UTF8
$res = aws securityhub get-findings
$decoded = $enc.GetBytes($res)
$encoded = [System.Text.Encoding]::UTF8.GetString($decoded)
$encoded = $encoded | ConvertFrom-Json
$res = $encoded
但我还是犯了同样的错误。
问候Q
1条答案
按热度按时间dfddblmv1#
我相信您需要使用
UTF8
对aws securityhub get-findings
的输出进行编码。试试这个: