gpt4 book ai didi

json - 如何使用 jq 写入 JSON 文件而不更改 Powershell 的二进制文件?

转载 作者:行者123 更新时间:2023-12-04 07:40:31 25 4
gpt4 key购买 nike

我有一个简单的 jq命令 & 当我在本地计算机上的 Powershell 中运行它时,它可以工作。二进制文件不会改变。

jq 'query.....' $srcJson > $destinationJson
当 Jenkins 在单独的 Windows 计算机上运行上述命令(位于 Powershell 文件中)时, $destinationJson二进制文件已更改。
例如:
enter image description here bad-swagger.json文件是在 Jenkins 中创建的。 swagger.json文件是在本地 PowerShell 窗口中创建的。
两个文本文件内容相同,但文件大小相差两倍 & giff diff显示二进制文件是不同的。
如何在不使用 Powershell 更改其二进制文件的情况下就地写入或将新的 jq 输出保存到 json 文件?
谢谢你。

最佳答案

您看到的输出差异可能是因为 Windows PowerShell 中的文件输出重定向操作 ( > ) 默认为 UTF16LE(或 Windows 说的“Unicode”)编码。
而不是使用 > , 尝试从 jq 管道输出到允许您显式设置输出编码的 cmdlet,例如 Out-File :

jq 'query...' $srcJson |Out-File $destinationJson -Encoding UTF8

关于json - 如何使用 jq 写入 JSON 文件而不更改 Powershell 的二进制文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67506478/

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