unityでjsonをwebからダウンロードして一部項目を抜き出したいのですが、一つはできましたが、もう一つの項目は配列型ではないからか取得が難しいです。ネットで調べてみましたが、unityでjsonを抜き出す事についての分かりやすい記事がすくなく今のコードでもなぜ一つは項目が抜き出せているのかもよくわからない状況です。jsonファイルの取り扱いに詳しい方がいましたら、ご教示ください。よろしくお願いします。
c#
1using System; 2using System.Collections; 3using System.Collections.Generic; 4using UnityEngine; 5[Serializable] 6public class InputJson 7{ 8 public AAA[] weather; 9 10} 11[Serializable] 12public class AAA 13{ 14 public string main; 15 16} 17public class weather : MonoBehaviour{ 18 public string tenki; 19 public string kion; 20void Start(){ 21 var request = UnityEngine.Networking.UnityWebRequest.Get(inURL); 22 //通信待ち 23 yield return request.SendWebRequest(); 24 //エラーが発生したか 25 if (request.isHttpError || request.isNetworkError) 26 { 27 //エラー内容 28 print(request.error); 29 } 30 else 31 { 32 //結果 33 34 string we1 = request.downloadHandler.text; 35 InputJson inputJson = JsonUtility.FromJson<InputJson>(we1); 36 37 tenki = inputJson.weather[0].main; 38 print(tenki); 39 40 } 41 42 } 43} 44
こちらがjsonファイルです。
json
1{"coord":{"lon":140,"lat":36},"weather":[{"id":800,"main":"Clear","description":"clear sky","icon":"01d"}],"base":"stations","main":{"temp":289.33,"feels_like":287.92,"temp_min":288.29,"temp_max":290.94,"pressure":1021,"humidity":35,"sea_level":1021,"grnd_level":1020},"visibility":10000,"wind":{"speed":3.01,"deg":351,"gust":4.5},"clouds":{"all":2},"dt":1634975506,"sys":{"type":2,"id":60940,"country":"JP","sunrise":1634936009,"sunset":1634975697},"timezone":32400,"id":1856881,"name":"Mitsukaidō","cod":200}
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。