前提・実現したいこと
LitJSONを使用して、ジャグ配列を保存したい。
配列を使用したいため、UnityJsonは使用不可。
発生している問題・エラーメッセージ
ArgumentNullException: Value cannot be null. Parameter name: key System.Collections.Generic.Dictionary`2[TKey,TValue].FindEntry (TKey key) (at <9577ac7a62ef43179789031239ba8798>:0) System.Collections.Generic.Dictionary`2[TKey,TValue].ContainsKey (TKey key) (at <9577ac7a62ef43179789031239ba8798>:0) LitJson.JsonMapper.ReadValue (System.Type inst_type, LitJson.JsonReader reader) (at <ceadd49e0f674254b7e105118a71dbba>:0) LitJson.JsonMapper.ToObject[T] (System.String json) (at <ceadd49e0f674254b7e105118a71dbba>:0) ss.Start () (at Assets/ss.cs:21)
該当のソースコード
C#
1using UnityEngine; 2using LitJson; 3 4[System.Serializable] 5public class HogeData { 6 public int _id; 7 public int[][] hogeArray = new int[3][]; 8 public HogeData(){ 9 for (int i = 0; i < 3; ++i) 10 hogeArray[i] = new int[3]; 11 } 12} 13 14public class ss : MonoBehaviour{ 15 void Start(){ 16 Debug.Log("AAA"); 17 for (int i = 0; i < 3; ++i) 18 for (int j = 0; j < 3; ++j) 19 Bdata.hogeArray[i][j] = i + j; 20 Str = JsonMapper.ToJson(Bdata); 21 Adata = JsonMapper.ToObject<HogeData>(Str); 22 for (int i = 0; i < 3; ++i) 23 for (int j = 0; j < 3; ++j) 24 Debug.Log(Adata.hogeArray[i][j]); 25 } 26 public HogeData Bdata; 27 public HogeData Adata; 28 public string Str; 29} 30 31```### 試したこと 32コメントアウト等で問題点を算出した。 33(私は、ジャグ配列に問題があると思っている) 34 35### 補足情報(FW/ツールのバージョンなど) 36 37Unityのバージョンは19.4.12f1です。 38分かる方がいらっしゃったら、よろしくお願いします。
あなたの回答
tips
プレビュー