向JSON添加新值(Unity3d)

时间:2017-01-18 17:00:47

标签: c# json unity3d

我需要的帮助不大。我使用Json来保存我的一些游戏进度值,除了我面临一个问题外,一切正常。当我尝试保存新值时,它会覆盖旧值,但我不想覆盖旧值,我想保留它们并添加新值。有人能提供一些帮助吗?我正在使用LiTJson,这是代码:

string fromJson = File.ReadAllText(Application.dataPath + "/ships.json");
data = JsonMapper.ToObject(fromJson);
data.Add(new SavedShips(shipsCount));
File.WriteAllText(Application.dataPath + "/ships.json", data.ToString());

我尝试加载旧值并添加类似这样的新值:

{{1}}

但是得到了ArgumentException:无法用JsonData包装给定的对象。 谢谢!

1 个答案:

答案 0 :(得分:0)

使用File.AppendText()而不是WriteAllText()。

https://msdn.microsoft.com/en-us/library/system.io.file.appendtext(v=vs.110).aspx

这应该添加到文件的末尾而不是覆盖它。