C# 如何使用“打开文件”对话框打开json文件
我有以下代码将Person对象保存为JSON文件C# 如何使用“打开文件”对话框打开json文件,c#,json.net,openfiledialog,C#,Json.net,Openfiledialog,我有以下代码将Person对象保存为JSON文件 if (saveWork.ShowDialog() == DialogResult.OK) { string output = JsonConvert.SerializeObject(MyPerson); try { string name = saveWork.FileName; using (
if (saveWork.ShowDialog() == DialogResult.OK)
{
string output = JsonConvert.SerializeObject(MyPerson);
try
{
string name = saveWork.FileName;
using (System.IO.StreamWriter sw = new StreamWriter(name))
sw.WriteLine(output);
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
}
现在我正在编写“打开文件”对话框代码,但我被卡住了,我尝试的任何东西似乎都不起作用。这是我现在拥有的代码,他在“file.json”中给出了一个错误。我知道为什么,但我不知道如何获取它的文件名
if (openWork.ShowDialog() == DialogResult.OK)
{
DialogResult result = openWork.ShowDialog();
//Person file = JsonConvert.DeserializeObject(result);
using (StreamReader r = new StreamReader("file.json"))
{
string json = r.ReadToEnd();
Person items = JsonConvert.DeserializeObject<Person>(json);
}
}
if(openWork.ShowDialog()==DialogResult.OK)
{
DialogResult=openWork.ShowDialog();
//Person file=JsonConvert.DeserializeObject(结果);
使用(StreamReader r=newstreamreader(“file.json”))
{
字符串json=r.ReadToEnd();
Person items=JsonConvert.DeserializeObject(json);
}
}
您应该使用OpenFileDialog中的属性文件名来检索文件名
openWork.CheckFileExists = true;
if (openWork.ShowDialog() == DialogResult.OK)
{
// Check if you really have a file name
if(openWork.FileName.Trim() != string.Empty)
{
using (StreamReader r = new StreamReader(openWork.FileName))
{
string json = r.ReadToEnd();
Person items = JsonConvert.DeserializeObject<Person>(json);
}
}
}
openWork.CheckFileExists=true;
if(openWork.ShowDialog()==DialogResult.OK)
{
//检查是否确实有文件名
if(openWork.FileName.Trim()!=string.Empty)
{
使用(StreamReader r=newstreamreader(openWork.FileName))
{
字符串json=r.ReadToEnd();
Person items=JsonConvert.DeserializeObject(json);
}
}
}
此外,我还将
CheckFileExists
属性添加为true,以便在用户指定不存在的文件名时显示警告 您应该使用OpenFileDialog中的属性文件名来检索文件名
openWork.CheckFileExists = true;
if (openWork.ShowDialog() == DialogResult.OK)
{
// Check if you really have a file name
if(openWork.FileName.Trim() != string.Empty)
{
using (StreamReader r = new StreamReader(openWork.FileName))
{
string json = r.ReadToEnd();
Person items = JsonConvert.DeserializeObject<Person>(json);
}
}
}
openWork.CheckFileExists=true;
if(openWork.ShowDialog()==DialogResult.OK)
{
//检查是否确实有文件名
if(openWork.FileName.Trim()!=string.Empty)
{
使用(StreamReader r=newstreamreader(openWork.FileName))
{
字符串json=r.ReadToEnd();
Person items=JsonConvert.DeserializeObject(json);
}
}
}
此外,我还将
CheckFileExists
属性添加为true,以便在用户指定不存在的文件名时显示警告 查看OpenFileDialog
上的属性查看OpenFileDialog
上的属性谢谢,问题解决了,我会选择您的答案,但我需要再等8分钟:)。谢谢谢谢,这个问题解决了,我会选择你的答案,但我需要再等8分钟:)。谢谢