【问题标题】:How to load json file in c# from relative path?如何从相对路径加载c#中的json文件?
【发布时间】:2020-03-11 13:53:21
【问题描述】:

我在本地化文件夹中的 JSON 文件时遇到问题。我有一个测试类,在同一个目录中,我有一个 JSON 文件。所以我想要实现的是用相对路径检索JSON文件。

我试过的就是这个

 var jsonString = File.ReadAllText("\\TemplateUrlOk.json");

更新

这是测试项目的结构。

【问题讨论】:

  • 它是控制台应用程序还是 Windows 应用程序或 Web 应用程序?
  • 如果是桌面应用或服务,您是否设置了在构建和运行应用程序时将JSON文件复制到构建目录中? Windows 路径中的 \\ 语法也是 UNC 文件共享格式,例如\\servername\foldername。因此,如果在代码运行时文件应该与可执行文件位于同一文件夹中,那么您可以只提供文件名而无需任何斜杠。
  • 用 `.\ ` 进行通常的相对寻址怎么样?表示:var jsonString = File.ReadAllText(@".\TemplateUrlOk.json");
  • @FalcoAlexander 您需要一个额外的反斜杠来转义第一个反斜杠,或者将其转换为带有 @ 符号的字符串文字。
  • 您是否查看过文件是否 已复制到\bin\Debug 下的任何位置?如果有,在哪里? (抱歉,我对 ASP.NET Core 的构建方式不如 .NET Framework 的构建方式熟悉。)

标签: c# json asp.net-core relative-path


【解决方案1】:

我会回答我的问题,因此我发现了问题。

@ADyson 提到项目构建时需要将 JSON 文件复制到目录中,我也是这样做的。但是,它位于另一个名为 EmailController 和文件名的文件夹中。

【讨论】:

    猜你喜欢
    • 2016-04-23
    • 2023-04-01
    • 1970-01-01
    • 1970-01-01
    • 2021-02-11
    • 2014-09-06
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多