前提・実現したいこと
こんにちは。Unity初心者です。読み込んだ二つのjsonデータを統合したいのですが、テキストの結合が出来ず困っています。
方法としては、jsonパスを取得→jsonに格納されたテキストを取得→それらを統合
という流れを想像しています。
例えば
JSONファイルは、中身にはテキストで日付や名前などが入った情報が配列として格納されています。
例えばjsonファイル1 {"logDatas":[
{"data":"2021/02/01 10:01:36","name":"test1"},{"data":"2021/02/01 18:00:26","name":"test1"}
]}
jsonファイル2 {"logDatas":[
{"data":"2021/02/02 19:00:00","name":"test2"}
]}
これらをスクリプトを使ってマージしたいと考えております。
よろしくお願い致します。
該当のソースコード
private async void Start() { //var path = Application.streamingAssetsPath + "/LifeLog/Monthly/Log202102.json"; string jsonString = Application.persistentDataPath + "/LifeLog/Monthly/Log202101.json"; string jsonString2 = Application.persistentDataPath + "/LifeLog/Monthly/Log202102.json"; var AddJson = File.ReadAllText(jsonString2); #if UNITY_ANDROID // Androidの場合はSystem.IOで直接ファイルとしてロードすることができないため、UnityWebRequestを用いる var request = UnityWebRequest.Get(jsonString); // 注:標準ではawaitできないので何らか対応する必要がある await request.SendWebRequest(); var jsonText = request.downloadHandler.text; #else var jsonText = File.ReadAllText(path); #endif MonthlyLog jsonData = new MonthlyLog(); JsonUtility.FromJsonOverwrite(jsonText, jsonData);
試したこと
上記のテキストを
string jsonString = Application.persistentDataPath + "/LifeLog/Monthly/Log202101.json";
string jsonString2 = Application.persistentDataPath + "/LifeLog/Monthly/Log202102.json";
のようにパス読み込みしました。その後、これら二つをマージしたく、デバッグでそれぞれの配列が入った中身が表示されるところまでは作りました。
これら二つを統合させ、一番下にある JsonUtility.FromJsonOverwrite(jsonText, jsonData);に代入することで、二つのjsonをマージできると考えています。
あなたの回答
tips
プレビュー