我正在使用以下命令从JSON格式的文件中导入一组配置值:
$configFileContent = Get-Content -Path run.config | ConvertFrom-Json
这会产生一个结果,其中包含以下内容(变量$configFileContent
的内容):
{
"config-values":{
"path":"..\temp-path"
}
}
接下来,我尝试从该配置访问 path 的值,如下所示:
$conf = $configFileContent.'config-values'
$tempPath = $conf.'path'
..但由于\t
中的字符..\temp-path
被解释为表示 Tab 的转义序列而失败。通过打印$conf
的内容(现在为:
path
----
.. emp-path
如您所见,Path
的值是.. <tab> emp-path
而不是预期的..\temp-path
。显然,这稍后会在我尝试使用变量$tempPath
作为实际路径时引起麻烦。
我怎样才能使Powershell像预期的那样解释-即在这里将字符串视为文字?
答案 0 :(得分:1)
我知道这可能不是您要寻找的答案。 但是快速的解决方法是在JSON文件中使用双反斜杠
这也是所有其他语言中的常见解决方法
{
"config-values":{
"path":"..\\temp-path"
}
}