私はほとんど助けが必要です。私はJsonを使用してゲームの進行状況の一部を保存していますが、私は1つの問題に直面している以外はすべて動作しています。私は新しい値を保存しようとすると古いものを上書きしますが、私はそれらを保持して新しい値を追加したい古い値を上書きしたくありません。誰も小さな助けを提供することはできますか? ArgumentExceptionがをJSON(Unity3d)に新しい値を追加
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());
しかしだ:私はここで、LiTJsonを使用してコードされています:
SavedShips savedShips = new SavedShips(shipsCount);
JsonData data = JsonMapper.ToJson(savedShips);
File.WriteAllText(Application.dataPath + "/ships.json", data.ToString());
私は古い値をロードし、新しいものにこのような何かを追加しようとしたJsonDataで指定されたオブジェクトをラップすることができません。 。 ありがとう!
'SavedShips'とは何ですか、shipsCountとは何ですか? – Maakep
Jsonをシリアライズするときに、Objectを取得してJsonの形式でテキストに変換します。 1つのオブジェクトがある場合は、それをシリアル化して前のファイルを上書きします。今のように、ファイル内の1つのオブジェクトだけを取得します。あなたがしたいのは、すべての船をリストに追加して、リストをjsonにシリアル化することです。試してみると、ファイルに保存する前にjsonにシリアル化することはありませんでしたか? – Maakep
私は古い値を取得して新しい値を追加することでこれを解決する別の方法があることを知っていますが、今のところWriteAllTextをAppendAllTextに置き換えることで問題が解決されるようです。タンスク、助けて! – Yupi