如何将对象存储为字符串?

时间:2018-10-02 20:38:57

标签: c# firebase firebase-realtime-database

我以前从未使用过Firebase,并且正在尝试将实时数据库连接到我的Unity应用程序。现在,我的应用程序从Json文件中提取数据并将其存储为字符串。为避免破坏程序的其余部分(我是编程新手,没有技能来重写,但正在学习),我想将Firebase快照转换为字符串,并以当前Json的方式读取它文件是。那可能吗?快照是一个目标文件,我需要从中获取字符串数据。

这是捕获快照的代码。

DataSnapshot snapshot = task.Result;

我也声明了这个字符串。

private string gameDataFileName = "data.json";

然后这是从文件加载数据的功能。

private void LoadGameData()
{
    string filePath = Path.Combine(Application.streamingAssetsPath, 
    gameDataFileName);

    if (File.Exists(filePath))
    {
        string dataAsJson = File.ReadAllText(filePath);
        GameData loadedData = JsonUtility.FromJson<GameData>(dataAsJson);

        allRoundData = loadedData.allRoundData;
    }
    else
    {
        Debug.LogError("Cannot load game data!");
    }
}

是否有将快照转换为Json或字符串的方法,以便可以将其插入dataAsJson?还是如果没有人能告诉我这样做的正确方法?该应用程序是一款琐事游戏,可在启动该应用程序时下载问题和答案。我不需要刷新数据,我只想能够在不强迫用户下载更新的情况下更新问题,因此我选择使用Firebase。

我应该以其他方式执行此操作吗?我已经搜索了互联网的每个角落,并且阅读的所有内容都超出了我的理解范围,或者在我的情况下不起作用。

1 个答案:

答案 0 :(得分:1)

要获取DataSnapshot的原始JSON,请调用其GetRawJsonValue() method。然后,您应该可以将其传递到您的JsonUtility.FromJson方法中。