こんにちはUnity初心者です。
以下のようなスクリプトでfor文の中に順番にリスト型変数に値を入れたいのですが、デバッグでは順番に数値が出てるのに対
して、リスト型では一つしか値が入りません。
int.Parse(item.endDateTime.Substring(11, 2))には16、17、19の数字が格納されており
最終的には、
Debug.Log(myList[0]); 16
Debug.Log(myList[1]); 17
Debug.Log(myList[2]); 19
という結果を出したいです。
ご指導お願い致します。
[Serializable] public class LogData { public int contentID; public string startDateTime;//Datetime.ToString()の形式 public string endDateTime;//Datetime.ToString()の形式 public string memo; } [Serializable] public class MonthlyLog { public LogData[] logDatas; } public class InputTest : MonoBehaviour { private List<int> myList = new List<int>(); private void Start() { var path = Application.streamingAssetsPath + "/Log202101.json"; #if UNITY_ANDROID // Androidの場合はSystem.IOで直接ファイルとしてロードすることができないため、UnityWebRequestを用いる var request = UnityWebRequest.Get(path); // 注:標準ではawaitできないので何らか対応する必要がある await request.SendWebRequest(); var jsonText = request.downloadHandler.text; #else var jsonText = File.ReadAllText(path); #endif MonthlyLog jsonData = new MonthlyLog(); JsonUtility.FromJsonOverwrite(jsonText, jsonData); foreach (var item in jsonData.logDatas) { for (int i = 0; i < 3; i++) { myList.Add(int.Parse(item.endDateTime.Substring(11, 2))); Debug.Log(int.Parse(item.endDateTime.Substring(11, 2))); } Debug.Log(myList[2]); }
回答1件
あなたの回答
tips
プレビュー