【问题标题】: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"
    

    ——也就是说,你只需要将反斜杠加倍。

    【讨论】:

      猜你喜欢
      • 2022-06-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-11-11
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多