Java 无序列化选项时保存数据的最简单方法

Java 无序列化选项时保存数据的最简单方法,java,serialization,save,persistence,Java,Serialization,Save,Persistence,我正在做一个游戏。它有一个游戏类,其中创建了所有内容并存储了其他对象;一个玩家类,其库存为物品s;然后还有房间s,玩家可以去那里,在这些房间里我们有其他物品和敌人s等等。这是一个相当简单的程序 我必须实现一个选项来保存和加载当前游戏状态。我尝试使用Serializable接口,但遇到了一个问题,我的所有项目类都存储StringPropertys。保存这些对象显然不起作用Science StringProperty没有实现接口 然后我想把所有的东西都写在一个简单的文本文件中。但这将是相当复杂的加载

我正在做一个游戏。它有一个
游戏
类,其中创建了所有内容并存储了其他对象;一个
玩家
类,其库存为
物品
s;然后还有
房间
s,玩家可以去那里,在这些房间里我们有其他物品和
敌人
s等等。这是一个相当简单的程序

我必须实现一个选项来保存和加载当前游戏状态。我尝试使用
Serializable
接口,但遇到了一个问题,我的所有项目类都存储
StringPropertys
。保存这些对象显然不起作用Science StringProperty没有实现接口

然后我想把所有的东西都写在一个简单的文本文件中。但这将是相当复杂的加载

用数据库持久化数据对于该项目来说是一种过分的做法。我也知道还有其他的可能性,比如XML,但我以前从未这样做过


我基本上想要的是保存我的游戏状态的最简单(不一定是最漂亮/最干净)的选项,因此当有人想要加载游戏时,我可以简单地创建一个新的
游戏和
玩家
,只需执行
newPlayer.setCurrentLocation(savedLocation)
等操作

对不起,但这个问题“太固执己见了”(在我看来)。有多种方法可以做到这一点;没有真正“最佳”的解决方案脱颖而出。我认为“最自然”的做法是:阅读JSON格式;了解有助于创建/读取JSON数据的现有库。。。然后开始尝试。这就是你想要的。它实际上是根据对象的属性来序列化对象的。我假设每个StringProperty都有一个get方法和一个set方法,就像所有JavaFX类一样。这看起来很有希望。然而,我认为目前我需要太多的重构。但我会记住这一点