【问题标题】:Load local file (in solution explorer)加载本地文件(在解决方案资源管理器中)
【发布时间】:2015-12-11 09:13:36
【问题描述】:

我在文件夹 D:\Projects\TravelVloggers\ProjectName.Web\Helpers\Folder_1\myFile 中有 json 文件。

如何加载此文件?稍后我想反序列化它。

我不想将本地文件的路径放在我的磁盘中。

【问题讨论】:

  • 你想在哪里反序列化它?您的应用程序是 ASP.NET MVC,还是 ASP.NET Web 表单或任何其他?
  • 我的问题是关于加载文件。如何将文件加载到某个对象。我可以处理反序列化
  • 您可以将此文件添加到您的解决方案中,并将其构建属性设置为“如果较新则复制”。有添加此类文件的类型。如果是 ASP.NET MVC 应用程序内容文件夹是合适的地方等。请更具体。
  • 好的,我知道了。但是现在我怎样才能将此文件加载到我的对象中。我的意思是:var jsonFile = 我的文件的路径。
  • “加载”是什么意思?是否要将 JSON 文件的字符串内容保存在应用程序的字符串变量中?

标签: c# asp.net .net asp.net-mvc path


【解决方案1】:

假设您在 ASP.NET MVC 中工作,请将您的文件添加到 Content 文件夹并使用 JSON.NET 库读取。先读取文件再反序列化,就这样。

using(StreamReader sr = new StreamReader(Server.MapPath("~/Content/file.json")))
{
      yourObject = JsonConvert.DeserializeObject<YourObjectType>(sr.ReadToEnd());
}

注意在web.config中添加mimetype

<system.webServer>
    <staticContent>
      <mimeMap fileExtension=".json" mimeType="application/json; charset=UTF-8" />

    </staticContent>
</system.webServer>

【讨论】:

  • 如果您认为某个问题已在另一个问题中得到解答,请将其标记为重复关闭。如果您需要多个答案来支持您的答案,请将相关部分放入您的答案中。仅链接的答案不是答案。 :) 如果问题不清楚,不要猜测答案,而是使用 cmets 要求澄清。
  • @CodeCaster 现在看起来还可以吗?
  • 我不确定 mime 类型与它有什么关系,我不确定 OP 是否想要反序列化,但可以肯定的是,现在它看起来是一个有效的答案。 :) 谢谢。
猜你喜欢
  • 2016-12-11
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-10-20
  • 2019-03-24
  • 1970-01-01
  • 2013-11-20
  • 2018-06-07
相关资源
最近更新 更多