複数のデータベース設定のインデックスを作成しています。新しいデータベースが作成されるたびに、作業者が作業したいデータベースに接続できるようにするためのインデックスが必要です。インデックスをjsonファイルに保存した後、再度読み込むと、既存のデータを消去せずにどのように追加できますか?私が見てきたほとんどのチュートリアルでは、既存のデータを使ってできることは保存したり読み込んだりすることはできません。ありがとう!私はJSONUtilityを使用していますが、これは非常に単純な操作なので、他のライブラリの推奨事項には反対しません。Unity JSON既存のjsonデータにデータを追加します
0
A
答えて
2
JsonをList
として保存すると、これを簡単に行うことができます。既存のものを変更したいときは、それをロードしてAdd
機能を使ってリストに追加してください。あなたが本当にする必要があるときにのみそれを保存してください。
UnityのJSONUtility
は、配列またはリストをシリアライズ/デシリアライズできないため、JsonHelper
ラッパーを使用して、JSONUtility
の上に構築する必要があります。あなたはそれを得ることができますhere。シリアライズとデシリアライズロードする
テストデータ:
[Serializable]
public class PlayerData
{
public string name;
public int score;
}
ことのリストを作成し、そこに:
List<PlayerData> saveListData = new List<PlayerData>();
PlayerData saveData = new PlayerData();
saveData.name = "Programmer";
saveData.score = 80;
saveListData.Add(saveData);
保存(それを保存するために、配列に変換する必要があります):
string jsonToSave = JsonHelper.ToJson(saveListData.ToArray());
PlayerPrefs.SetString("Data", jsonToSave);
PlayerPrefs.Save();
ロード(配列としてロードしてリストに戻す必要があります):
string jsonToLoad = PlayerPrefs.GetString("Data");
//Load as Array
PlayerData[] _tempLoadListData = JsonHelper.FromJson<PlayerData>(jsonToLoad);
//Convert to List
List<PlayerData> loadListData = _tempLoadListData.OfType<PlayerData>().ToList();
for (int i = 0; i < loadListData.Count; i++)
{
Debug.Log("Got: " + loadListData[i].name);
}
読み込まれたデータにさらに情報を追加しますか?
loadListData.Add(new PlayerData());
loadListData.Add(new PlayerData());
loadListData.Add(new PlayerData());
loadListData.Add(new PlayerData());
もう一度保存することができます。
1
既存のJSONが存在する場合は、それを文字列にしておきます。保存する準備ができたら、古いJSONを新しく生成されたJSONに連結してディスクに保存するだけです。
ヒント:あなたがまだいない場合は、Json.NETを使用してください。
関連する問題
- 1. 既存のJSONファイルに新しいデータを追加する
- 2. 既存のajax json結果にデータを追加する方法
- 3. JSONファイルにデータを追加
- 4. JSON既存のJObjectにノードを追加
- 5. Python - 既存のJSONオブジェクトにJSONオブジェクトを追加する
- 6. mongodb既存のjsonデータを流星アプリケーションに追加する方法は?
- 7. angularJs内の既存のjsonに要素を追加します。
- 8. MySQLは既存の行にJSONデータ型を挿入します
- 9. jsonファイルにデータを追加しない
- 10. jsonファイルにデータを追加する
- 11. pyjadeのデータ属性にjsonデータを追加できません
- 12. GenericListCellRendererの例:既存のリストにデータを追加しますか?
- 13. JSONデータをHTML要素に追加
- 14. JSONデータをMySQLデータベースに追加
- 15. Pythonは - JSONファイルにデータを追加
- 16. JSONデータに応じてクラスを追加
- 17. node.jsから既存のhtmlにデータを追加します
- 18. Python - 既存のCSVファイルにデータを追加しますか?
- 19. json.net、既存のJSONオブジェクトに新しいオブジェクト/アイテムを追加/追加する
- 20. jsonファイルからmysql dbデータに追加
- 21. リストビューへのjsonデータの追加
- 22. 既存の配列にjsonデータを設定する
- 23. node.jsの既存のjsonファイルに追加するには
- 24. 既存のテーブルにjsonデータの行を動的に挿入
- 25. 既存のJSONオブジェクトにsprayJSON(スカラ)を使用してフィールドを追加します
- 26. Ionic 2とJSONデータの追加
- 27. jsonフィールドにデータを保存
- 28. JSONデータをdbに保存
- 29. サーバにJSONデータを保存
- 30. Gsonは既存のJSONファイルに新しいオブジェクト配列を追加します
誰かが自分のプロジェクトにこれを追加している場合は、OfTypeとToListが機能するようにLINQライブラリを追加してください。 –
うん、 'usingType'を使うのに' using System.Linq; 'が必要です。ループを使って手動で行うこともできます。 – Programmer
素晴らしい作品!ありがとう!! –