将JSON文件加载到ListBox和TextBox C#

将JSON文件加载到ListBox和TextBox C#,c#,json,listbox,C#,Json,Listbox,我正在开发一个Windows窗体应用程序。文本框索引可以保存并显示在列表框中,代码如下: private List<FunctionData> funcParamList = new List<FunctionData>(); ... private void addFuncButton_Click(object sender, EventArgs e) { FunctionData funcParams = new FunctionData(

我正在开发一个Windows窗体应用程序。文本框索引可以保存并显示在列表框中,代码如下:

private List<FunctionData> funcParamList = new List<FunctionData>();
  ...
private void addFuncButton_Click(object sender, EventArgs e)
    {
        FunctionData funcParams = new FunctionData();
        funcParams.blabla1name = blabla1.Text;
        funcParams.blabla2name = blabla2.Text;
        ...
        if (funcParams.isValid())
        {
            funcParamList.Add(funcParams);
            functionListBox.Items.Add(functionNameBox.Text);
        } 
并将它们以JSON格式保存到文件中:

private void saveFileButton_Click(object sender, EventArgs e)
    {
        fileName = fileNameBox.Text;
        string jsonFunc = JsonConvert.SerializeObject(funcParamList);
        System.IO.File.WriteAllText(@"<blablapath>\" + fileName + ".txt", jsonFunc);
    }

我已经通过将“反序列化对象”转换为列表解决了这个问题,并且已经完成了。以下是变化:

            ...

            var loadedFile = JsonConvert.DeserializeObject<List<FunctionData>>(jsonFile);
。。。
var loadedFile=JsonConvert.DeserializeObject(jsonFile);

OpenFileDialog是您选择的对话框。每次更改某些内容时,您都需要重写文件。好的,我会这样做,我已经尝试使用OpenFileDialog来完成此操作,但未能成功。我该怎么做?滚动到底部,有一个例子这个例子没有帮助我获取JSON对象。我已经检查过了。(编辑了我的问题和我是如何尝试的)谢谢你。你应该把你的json写进.json文件,这是通常的做法。恐怕我没有时间好好解释,也许其他人可以。
private void loadFileButton_Click(object sender, EventArgs e)
    {
        OpenFileDialog loadFileDialog = new OpenFileDialog();
        ...

        if (loadFileDialog.ShowDialog() == DialogResult.OK)
        {
            string jsonFileName = loadFileDialog.FileName;
            string jsonFile = File.ReadAllText(jsonFileName);

            dynamic loadedFile = JsonConvert.DeserializeObject(jsonFile);

            //if (functionListBox.SelectedItem == null) { return; }
            foreach (var obj in loadedFile)
            {
                if (obj.functionName != null) 
                {
                    functionListBox.Items.Add(obj.functionName);
                    getParams(obj);   // I get exception here
                    funcParamList.Add(loadedFile);
                    functionListBox.Refresh();
                }

            }
        }
            ...

            var loadedFile = JsonConvert.DeserializeObject<List<FunctionData>>(jsonFile);