C# 从特定文件夹获取Json文件并将其序列化

C# 从特定文件夹获取Json文件并将其序列化,c#,json,C#,Json,我需要从解决方案中的特定文件夹中获取json文件。json文件的名称是“plaza.json”,它所在的文件夹是Data。请看下图 如何获取此文件并将其序列化?我已经寻找了一些答案,但最接近的是: using (var streamReader = new StreamReader("plaza.json")) { string json = streamReader.ReadToEnd(); var deserializedObject = JsonConvert.Deser

我需要从解决方案中的特定文件夹中获取json文件。json文件的名称是“plaza.json”,它所在的文件夹是Data。请看下图

如何获取此文件并将其序列化?我已经寻找了一些答案,但最接近的是:

using (var streamReader = new StreamReader("plaza.json"))
{
    string json = streamReader.ReadToEnd();
    var deserializedObject = JsonConvert.DeserializeObject<SomeClass>(json);
}
使用(var streamReader=newstreamreader(“plaza.json”))
{
字符串json=streamReader.ReadToEnd();
var deserializedObject=JsonConvert.DeserializeObject(json);
}
如果我使用它,它不会看到我的json文件

using (var streamReader = new StreamReader(Server.MapPath("~/Data/plaza.json"))
{
    string json = streamReader.ReadToEnd();
    var deserializedObject = JsonConvert.DeserializeObject<SomeClass>(json);
}
确保在生成属性中放置“如果已修改”属性的复制文件


确保将“如果修改了”属性中的“复制文件”属性放入“生成属性”

的正确路径中,或将该文件作为内容添加到“右键单击->属性”中。另外,
File.ReadAllText
可以节省您使用
StreamReader
的时间。此外,如果这是一个Web服务,您可能需要使用
Server.MapPath()
来获取正确的位置,如果这是IIS,您可能需要为文件上的应用程序池添加正确的权限。这只是一个WPF Sir。。你能给我一个你所说的正确路径的例子吗?首先,为文件添加正确的构建操作(内容),这样它将在输出目录中结束。将文件放入正确的路径,或者在右键单击->属性中将该文件作为内容添加。另外,
File.ReadAllText
可以节省您使用
StreamReader
的时间。此外,如果这是一个Web服务,您可能需要使用
Server.MapPath()
来获取正确的位置,如果这是IIS,您可能需要为文件上的应用程序池添加正确的权限。这只是一个WPF Sir。。你能给我一个你所说的正确路径的例子吗?首先为文件添加正确的构建操作(内容),这样它就会在你的输出目录中结束。这是一个WPF sir now基于web。我在“Server.MapPath…”的“Server”上发现一个错误@Ibanez1408更新了答案检查,您可能需要稍微调整一下路径,我还没有测试它就快到了,它可以到达文件夹,但这就是它到达的地方=>“System.IO.DirectoryNotFoundException:'找不到路径'D:\Projects\Lane\Antenna\U Reading\TagReporting\TagReporting\bin\Debug\TagReporting.exe\Data\plaza.json'的一部分。但文件位于:“D:\Projects\Lane\Antenna\U Reading\TagReporting\TagReporting\bin\Debug\Data”中,不应包含“TagReporting.exe”。在“调试”之后,它应该转到“Data\plaza.json”。@Ibanez1408已经告诉您要调整路径,请使用path.getdirectoryname这是一个基于web的WPF sir。我在“Server.MapPath…”的“Server”上发现一个错误@Ibanez1408更新了答案检查,您可能需要稍微调整一下路径,我还没有测试它就快到了,它可以到达文件夹,但这就是它到达的地方=>“System.IO.DirectoryNotFoundException:'找不到路径'D:\Projects\Lane\Antenna\U Reading\TagReporting\TagReporting\bin\Debug\TagReporting.exe\Data\plaza.json'的一部分。但文件位于:“D:\Projects\Lane\Antenna\U Reading\TagReporting\TagReporting\bin\Debug\Data”中,不应包含“TagReporting.exe”。在“Debug”之后,应该转到“Data\plaza.json”。@Ibanez1408已经告诉您要调整路径,请使用path.GetDirectoryName
Path.Combine(AppDomain.CurrentDomain.BaseDirectory,"Data/plaza.json");