我遇到了将字符串保存到json文件的问题。
$newY = "12313tytk1.xp1`F4i12313211ddsada;"
首先我读了json文件
$a = Get-Content 'settings.json' -raw | ConvertFrom-Json
然后更新字段
$a.X.y = $newY
并保存文件
$a | ConvertTo-Json -Depth 5 | set-content 'settings.json'
存在一些问题:
在文件中保存Y
后错误:
“12313tytk1.xp1F4i12313211ddsada;” 缺少特殊字符:`。
文件格式错误。到很多空间
\u003c
和\u003e
如何改变?
答案 0 :(得分:4)
Bactick `
是Powershell中的转义字符。单引号字符串'
是字符串文字,因此不评估,转义等内容。 Doulbe引用的字符串"
被评估,因此反引号被解释为转义字符。有关详细信息,请参阅about_Quoting_Rules。
考虑,
PS C:\> $newY = "12313tytk1.xp1`F4i12313211ddsada;"
PS C:\> $newY # Misses the backtick
12313tytk1.xp1F4i12313211ddsada;
PS C:\> $newY2 = '12313tytk1.xp1`F4i12313211ddsada;'
PS C:\> $newY2 # Contains the backtick
12313tytk1.xp1`F4i12313211ddsada;