質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.49%
C#

C#はマルチパラダイムプログラミング言語の1つで、命令形・宣言型・関数型・ジェネリック型・コンポーネント指向・オブジェクティブ指向のプログラミング開発すべてに対応しています。

JSON

JSON(JavaScript Object Notation)は軽量なデータ記述言語の1つである。構文はJavaScriptをベースとしていますが、JavaScriptに限定されたものではなく、様々なソフトウェアやプログラミング言語間におけるデータの受け渡しが行えるように設計されています。

Unity3D

Unity3Dは、ゲームや対話式の3Dアプリケーション、トレーニングシュミレーション、そして医学的・建築学的な技術を可視化する、商業用の開発プラットフォームです。

Unity

Unityは、Unity Technologiesが開発・販売している、IDEを内蔵するゲームエンジンです。主にC#を用いたプログラミングでコンテンツの開発が可能です。

Q&A

0回答

785閲覧

Unity スクリプト上で読み込ませるjsonファイルを切り替えたい。

TALOS

総合スコア7

C#

C#はマルチパラダイムプログラミング言語の1つで、命令形・宣言型・関数型・ジェネリック型・コンポーネント指向・オブジェクティブ指向のプログラミング開発すべてに対応しています。

JSON

JSON(JavaScript Object Notation)は軽量なデータ記述言語の1つである。構文はJavaScriptをベースとしていますが、JavaScriptに限定されたものではなく、様々なソフトウェアやプログラミング言語間におけるデータの受け渡しが行えるように設計されています。

Unity3D

Unity3Dは、ゲームや対話式の3Dアプリケーション、トレーニングシュミレーション、そして医学的・建築学的な技術を可視化する、商業用の開発プラットフォームです。

Unity

Unityは、Unity Technologiesが開発・販売している、IDEを内蔵するゲームエンジンです。主にC#を用いたプログラミングでコンテンツの開発が可能です。

0グッド

0クリップ

投稿2021/03/03 08:15

編集2021/03/03 08:17

前提・実現したいこと

こんにちは。Unity初心者です。読み込んだ月日が格納されたjsonデータを使って、1月のjsonデータ、2月のjsonデータというように読み込むjsonファイルを月ごとに切り替えたいです。

該当のソースコード

private async void Start() { //月にごとにパスを読み込ませる string Date = GameObject.Find("MainDate").GetComponent<Text>().text; string s1 = Date.Substring(0, 7); string s2 = s1.Replace("/", ""); s3 = "/LifeLog/Monthly/Log" + s2 + ".json"; jsonString = Application.persistentDataPath + s3; call(); } public async void pushJson() { string Date = GameObject.Find("MainDate").GetComponent<Text>().text; string s1 = Date.Substring(0, 7); string s2 = s1.Replace("/", ""); s3 = "/LifeLog/Monthly/Log" + s2 + ".json"; jsonString = Application.persistentDataPath + s3; } public async void backJson() { string Date = GameObject.Find("MainDate").GetComponent<Text>().text; string s1 = Date.Substring(0, 7); string s2 = s1.Replace("/", ""); s3 = "/LifeLog/Monthly/Log" + s2 + ".json"; jsonString = Application.persistentDataPath + s3; call(); } public void call(){ #if UNITY_ANDROID // Androidの場合はSystem.IOで直接ファイルとしてロードすることができないため、UnityWebRequestを用いる var request = UnityWebRequest.Get(jsonString); // ここで動作が止まっているように見える(エラーはない) await request.SendWebRequest(); var jsonText = request.downloadHandler.text; #else var jsonText = File.ReadAllText(path); #endif MonthlyLog jsonData = new MonthlyLog(); JsonUtility.FromJsonOverwrite(jsonText, jsonData); }

試したこと

start関数で最初のjsonが読み込まれる。pushメソッドとbackメソッドで次月、前月と切り替えたいです。
最初の読み込む月は、正確に表示されますが、他の月に切り替えるとjsonが上手く切り替わりませんでした。
デバッグをしたところawaitを使っているところで動作が止まっているように見えました。

よろしくお願い致します。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

TALOS

2021/03/03 08:51

こんにちは、Jsonにはマージをすると最終的にデータ容量が大きくなり重くなるということが発覚したので、ファイルを個々に切り替えることにしました。
退会済みユーザー

退会済みユーザー

2021/03/03 10:34

だったら前のスレッドを放置しないでその旨書いてクローズするべき。失礼だよ。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだ回答がついていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.49%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問