写入 JSON 文件并从中读取

Writing to a JSON File and reading from it

我需要将输入页面中的信息保存到 JSON 文件中,并将信息输出到从 JSON 文件读取的另一页上。
我已经尝试了很多东西,似乎对我有用的是使用特殊文件夹本地应用程序数据。
现在,我不太明白如何输出信息并检查数据是否正确输入。
我以前使用 StreamReader 输出有关 JSON 文件的信息,然后将其放在 ListView 上,但是如果我在特殊文件夹中有该文件,这将不起作用。它说“流不能为空”。注释掉的代码是我之前尝试的代码。
代码:
ListPageVM(读取页面)

private ObservableCollection<MainModel> data;
        public ObservableCollection<MainModel> Data
        {
            get { return data; }
            set { data = value; OnPropertyChanged(); }
        }
        public ListPageVM()
        {
            var assembly = typeof(ListPageVM).GetTypeInfo().Assembly;
            Stream stream = assembly.GetManifestResourceStream(Path.Combine(System.Environment.GetFolderPath(Environment.SpecialFolder.LocalApplicationData), "eintraege.json"/"SaveUp.Resources.eintraege.json"/));

            //var file = Path.Combine(System.Environment.GetFolderPath(Environment.SpecialFolder.LocalApplicationData), "eintraege.json");

            using (var reader = new StreamReader(stream))
            {
                var json = reader.ReadToEnd();

                List<MainModel> dataList = JsonConvert.DeserializeObject<List<MainModel>>(json);
                data = new ObservableCollection<MainModel>(dataList);
            }
        }

MainPageVM(写入页面)

public Command Einfügen
        {
            get
            {
                return new Command(() =>
                {
                    // Data ins Json
                    _mainModels.Add(DModel);

                    Datum = DateTime.Now.ToString("dd.mm.yyyy");
                    //var assembly = typeof(ListPageVM).GetTypeInfo().Assembly;
                    //FileStream stream = new FileStream("SaveUp.Resources.eintraege.json", FileMode.OpenOrCreate, FileAccess.Write);
                    var file = Path.Combine(System.Environment.GetFolderPath(Environment.SpecialFolder.LocalApplicationData), "eintraege.json");
                    //Stream stream = assembly.GetManifestResourceStream("SaveUp.Resources.eintraege.json");
                    if (!File.Exists(file))
                    {
                        File.Create(file);
                    }
                    
                    using (var writer = File.AppendText(file))
                    {
                        string data = JsonConvert.SerializeObject(_mainModels);
                        writer.WriteLine(data);


                    }

                });
            }
        }

您正在尝试读写资源,而不是文件。那行不通的。而是这样做

var path = Path.Combine(System.Environment.GetFolderPath(Environment.SpecialFolder.LocalApplicationData), "eintraege.json");

File.WriteAllText(path, myjson);

读回数据

var json = File.ReadAllText(path);