C# 为什么FromJsonOverwrite不将文件数据转换为我的类对象?
我正试图将我的Json文件反序列化为一个单行为类——我的GameData类,它包含诸如健康、移动速度等内容。。这是我的密码:C# 为什么FromJsonOverwrite不将文件数据转换为我的类对象?,c#,json,unity3d,C#,Json,Unity3d,我正试图将我的Json文件反序列化为一个单行为类——我的GameData类,它包含诸如健康、移动速度等内容。。这是我的密码: private string _filePath; private static DataService _instance; public DataService Instance { get { return _instance; } } private GameData _gameData; private void Awake() { Don
private string _filePath;
private static DataService _instance;
public DataService Instance
{
get { return _instance; }
}
private GameData _gameData;
private void Awake()
{
DontDestroyOnLoad(gameObject);
if (_instance == null)
{
_instance = new DataService();
}
if (_gameData == null)
{
_gameData = new GameData(1);
}
}
public void LoadGameData(GameData gameData)
{
_filePath = Path.Combine(Application.persistentDataPath, gameData.FileName);
string json;
if (File.Exists(_filePath))
{
json = File.ReadAllText(_filePath);
_gameData = JsonUtility.FromJsonOverwrite(json,gameData);
}
else
{
Debug.Log("File missing.");
}
}
public void SaveGameData(GameData gameData)
{
string json = JsonUtility.ToJson(_gameData);
_filePath = Path.Combine(Application.persistentDataPath, gameData.FileName);
if (File.Exists(_filePath))
{
File.Create(_filePath).Dispose();
}
File.WriteAllText(_filePath,json);
}
我得到的错误是:
无法将类型void隐式转换为GameData
我做错了什么?我如何解决这个问题
如果解决方案是将我的数据放在一个不是从MonoBehavior派生的类中,我如何从我的游戏中访问这些字段?您会遇到这个错误,因为“FromJsonOverwrite”是无效的,它不会返回任何内容。将代码更新为: JsonUtility.FromJsonOverwritejson,_gameData;
从文档void JsonUtility.FromJsonOverwrite。。。。。。它不会返回任何内容,那么您期望得到什么呢?阅读API和示例可以解决大多数问题。。。