在执行其他方法之前,如何将Json Data放入我的ObservableCollection中?

时间:2016-12-14 14:11:41

标签: c# json json.net

我有两种方法可以在我的单例中提取Json数据。目前我的程序只是在方法完成之前继续执行,这导致我的单例列表包含0个对象,因此不会向我的gui打印任何内容。我将名称改为通用名称,因为我的命名是丹麦语。

我运行方法的构造函数:

    private SingletonConstructor()
    {
        ObsListe1 = new ObservableCollection<ListeObj1>();
        ObsListe2 = new ObservableCollection<ListeObj2>();
        LoadListe1Json();
        LoadListe2Json();
    }

我的Json方法,我使用newtonsoft Json:

    private async Task LoadListe1Json()
    {
        try
        {
            StorageFile LocalFile = await ApplicationData.Current.LocalFolder.GetFileAsync(FileName1);
            String jsonSaveData = await FileIO.ReadTextAsync(LocalFile);
            ObsListe1 = JsonConvert.DeserializeObject<ObservableCollection<ListeObj1>>(jsonSaveData);
        }
        catch (Exception)
        {
        }
    }

    private async Task LoadListe2Json()
    {
        try {
            StorageFile LocalFile = await ApplicationData.Current.LocalFolder.GetFileAsync(FileName2);
            String jsonSaveData = await FileIO.ReadTextAsync(LocalFile);
            ObsListe2 = JsonConvert.DeserializeObject<ObservableCollection<ListeObj2>>(jsonSaveData);
        } catch
        {
        }
     }

我希望程序在我的Json方法中设置的列表上等待,然后再在其他类中输入其他方法。有人知道怎么做吗? 感谢

1 个答案:

答案 0 :(得分:0)

如果您想等待任务完成,可以使用Task.Wait()

LoadListe1Json().Wait();