我以前从未使用过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。
我应该以其他方式执行此操作吗?我已经搜索了互联网的每个角落,并且阅读的所有内容都超出了我的理解范围,或者在我的情况下不起作用。
答案 0 :(得分:1)
要获取DataSnapshot
的原始JSON,请调用其GetRawJsonValue()
method。然后,您应该可以将其传递到您的JsonUtility.FromJson
方法中。