gpt4 book ai didi

从 Powershell 输出生成的 Python 转义 JSON 文件

转载 作者:行者123 更新时间:2023-12-01 02:54:40 25 4
gpt4 key购买 nike

我有一个 Powershell 脚本,它运行 SQL 查询,使用 ConvertTo-JSON 将其转换为 JSON 并将其写入文件。然后,我使用 Posh-SSH powershell 模块将此文件通过 SFTP 传输到 Linux 服务器。

然后,Linux 服务器运行 python 脚本来打开文件并将其转换为 JSON:

fname = '/foo/bar/map.json'
with open(fname, 'r') as f:
map = json.loads(f.read())

这个 Python 脚本会抛出错误:

No JSON object could be decoded

这显然是由于 Windows/Powershell 将时髦的字符混入其中所致。我使用 JSON linter 来验证 JSON 的完整性,当我复制转储并将其粘贴到 Linux 中的新文件中时,一切都很好。

我该如何解决这个问题?我对字符编码了解不够,无法判断发生了什么。

最佳答案

为什么在 StackOverflow 上写问题总是能让我立即解决自己的问题?我的意思是,这花了几个小时。

<小时/>

将编码设置为 UTF8 就可以了。

Invoke-SQLCmd -Query "exec foo.dbo.proc"
| Select-Object * -ExcludeProperty ItemArray, Table, RowError, RowState, HasErrors
| ConvertTo-Json
| % { [System.Text.RegularExpressions.Regex]::Unescape($_) }
| Out-File "c:\config\map.json" -Encoding UTF8

关于从 Powershell 输出生成的 Python 转义 JSON 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44338659/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com