如何引用添加到Visual Studio项目的json文件

时间:2019-03-17 10:02:36

标签: c# visual-studio

这是一个非常新手的问题。我已使用添加新项将JSON文件添加到我的项目中。现在,在我的C#代码中,我基本上希望“使用”此文件。如何引用此文件?基本上,我试图将其发布到WebAPI中,例如:-

var client = new HttpClient();
client.somePOSTtypefunction(MyJSONfile);

我该怎么做?至少我想知道一般如何在C#代码中引用这样的文件。我不想在代码中对JSON数据进行硬编码。

2 个答案:

答案 0 :(得分:1)

为了更加安全起见,避免出现任何文件级异常,请使用as作为

using(StreamReader sr = new StreamReader(Server.MapPath("~/path/to/some.json")))
{
      client.somePOSTtypefunction(sr.ReadToEnd());
}

答案 1 :(得分:0)

如果它是控制台应用程序:

  1. 将您的json文件添加到解决方案中
  2. Build Action 设置为 EmbeddedResource
  3. 您可以通过以下方式访问文件:

    var jsonPath = "JSONTest.Resources.sample.json"; //your path to the JSONfile
    var jsonStream = Assembly.GetExecutingAssembly().GetManifestResourceStream(jsonPath);
    
    string jsonString;
    using (var streamReader = new StreamReader(jsonStream))
    {
        jsonString = streamReader.ReadToEnd();            
        Console.WriteLine(jsonString);
    }
    
  4. 您可以使用以下方法解析JSON以使其成为对象:

    var jsonObject = JsonConvert.DeserializeObject<YourObject>(jsonString);
    
  5. 使用JSON对象做任何您想做的事;-)