gpt4 book ai didi

json - 为什么我生成的JSON的 “\\”太多?

转载 作者:行者123 更新时间:2023-12-03 00:41:04 27 4
gpt4 key购买 nike

我有一个Powershell脚本,它会生成一个包含数据的JSON文件。
我对此文件有问题。它产生两倍的“\”!
你知道我该怎么解决吗?
这是我的生成JSON文件的代码:

[ordered]@{
pcname='ENTER HERE';
share='\\ENTER HERE\C$';
filename='ENTER HERE';
destfilepath='some\folder';
destfile='$in.share\$in.destfilepath\$in.filename';
RDdestfile='C:\$in.destfilepath\';
Username="ENTER HERE";
Password="ENTER HERE";
EncryptedPassword=""
} | ConvertTo-Json | Out-File "$secFile"
$ secFile只是将文件保存到的路径。告诉我您是否也需要这个。
输出的JSON文件看起来像这样:
{
"pcname": "ENTER HERE",
"share": "\\\\ENTER HERE\\C$",
"filename": "ENTER HERE",
"destfilepath": "some\\folder",
"destfile": "$in.share\\$in.destfilepath\\$in.filename",
"RDdestfile": "C:\\$in.destfilepath\\",
"Username": "ENTER HERE",
"Password": "ENTER HERE",
"EncryptedPassword": ""
}
问候
马丁
编辑:我也在PowerShell.org论坛和Microsoft技术社区中发布了这个问题,
https://powershell.org/forums/topic/why-does-my-generated-json-have-too-many/
https://techcommunity.microsoft.com/t5/windows-powershell/why-does-my-generated-json-have-too-many-quot-quot/td-p/1592234

最佳答案

有一种转义JSON的方法:

[ordered]@{
pcname='ENTER HERE';
share='\\ENTER HERE\C$';
filename='ENTER HERE';
destfilepath='some\folder';
destfile='$in.share\$in.destfilepath\$in.filename';
RDdestfile='C:\$in.destfilepath\';
Username="ENTER HERE";
Password="ENTER HERE";
EncryptedPassword=""
} | ConvertTo-Json | Foreach {[System.Text.RegularExpressions.Regex]::Unescape($_)} | Out-File "$secFile"
这将使反斜杠转义。输出:
{
"pcname": "ENTER HERE",
"share": "\\ENTER HERE\C$",
"filename": "ENTER HERE",
"destfilepath": "some\folder",
"destfile": "$in.share\$in.destfilepath\$in.filename",
"RDdestfile": "C:\$in.destfilepath\",
"Username": "ENTER HERE",
"Password": "ENTER HERE",
"EncryptedPassword": ""
}

关于json - 为什么我生成的JSON的 “\\”太多?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63446524/

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