【问题标题】:Error parsing JSON for network server name解析网络服务器名称的 JSON 时出错
【发布时间】:2021-02-02 06:59:16
【问题描述】:
我正在尝试从 .Net CORE 控制台应用程序中的 appsettings.json 文件中提取一个值。问题是我正在尝试访问网络服务器以查找一些要处理的文件。我找到了使用本地文件目录的示例,但是当我尝试使用网络路径执行此操作时,我收到了无法处理 JSON 的错误。
这是我找到的本地路径示例。
"path":"D:\\my\\path\\to\\file.txt"
这是我如何将其转换为尝试连接到网络服务器位置但失败的示例。
"ExportLocation": "\"\\\Eservername.domain.com\\filefolder\\subfolder\\\""
【问题讨论】:
标签:
c#
json
asp.net-core
.net-core
appsettings
【解决方案1】:
如果没有看到确切的错误消息,很难确切地知道您的问题是什么,但是字符串开头的这个字符序列看起来是错误的:
\"\\\E
由于\ 用于转义后面的字符,因此\" 将被解释为",\\ 将被解释为\。这留下了\E,它不是一个有效的转义序列。我也不认为您需要在字符串的开头或结尾处使用\",除非使用此值的代码期望字符串用双引号“包裹”。
尝试以下方法,看看是否能解决您的解析错误:
"ExportLocation": "\\\\Eservername.domain.com\\filefolder\\subfolder\\"
有关其他有效转义序列的更多信息,请参阅here。
【解决方案2】:
看起来您的 JSON 编码只是有语法错误。
路径的 JSON 编码
C:\path\foo
\\server.domain\foo
是
"C:\\path\\foo"
"\\\\server.domain\\foo"
——也就是说,你只需要将反斜杠加倍。