【发布时间】:2018-12-22 02:49:11
【问题描述】:
我正在尝试制作一个 json 文件,其中包含您在每个级别获得的所有奖励特征。
Json 是这样的:
{
"0": {
"Armor": 1,
"Strenght": 1,
"Mana": 2,
"Power": 1,
"Health": 1
},
"1": {
"Armor": 1,
"Strenght": 1
}
}
然后我调用一个加载器:
struct LevelBonus
{
int Power;
int Mana;
int Strenght;
int Armor;
int Health;
}
Dictionary<string, LevelBonus> statsPerLevel;
statsPerLevel = FileLoaderManager.instance.LoadJSONData<Dictionary<string, LevelBonus>>("PlayerStats/level.json");
还有别的地方
public T LoadJSONData<T>(string path)
{
string filePath = Path.Combine(Application.streamingAssetsPath, path);
if (File.Exists(filePath))
{
string dataAsJson = File.ReadAllText(filePath);
T loadedData = JsonUtility.FromJson<T>(dataAsJson);
return loadedData;
}
else
{
Debug.LogError("Cannot load game data!");
return default(T);
}
}
我的数据已加载,但未正确解析。基本上,没有错误,但没有数据返回事件,文件被读取,直到
T loadedData = JsonUtility.FromJson<T>(dataAsJson);
我可以将数据正确读取为字符串。但是 FromJson 什么都不返回
我错过了什么?
【问题讨论】:
-
尝试公开
LevelBonus的成员,例如public int Power; -
很遗憾不起作用
-
解析不正确这到底是什么意思?
-
哦,是的,不准确,这意味着它不返回任何内容,也不会出错。
-
@Crocsx,你有没有尝试过 newtonsoft.json。