using UnityEngine;
using System.Collections;
using UnityEngine.UI;
using LitJson;
using System;
using UnityEngine.Events;
public class HTTPQingQiuDemo : MonoBehaviour {
public string url = "https://www.sojson.com/open/api/weather/json.shtml";
public Button btn;
public InputField txtCity;
public Transform itemPrefab;//預設
public Transform p;//父物體
Sprite[] sprites;//天氣圖片數組
void Start () {
sprites = Resources.LoadAll<Sprite>("天氣");
btn.onClick.AddListener(delegate ()
{
StartCoroutine(GetInfo());
});
}
private IEnumerator GetInfo()
{
WWW www = new WWW(url + "?city=" + txtCity.text );
print(url + "?city=" + txtCity.text);
//WWW www = new WWW("http://101.200.76.117/tq.php");
yield return www;
print(www.text);
if (string .IsNullOrEmpty (www.error))
{
print(www.text);
//將請求得到的Json轉化成對象
TQData tq = JsonMapper.ToObject<TQData>(www.text);
//拿到數據
DayInfo[] forecast = tq.data.forecast;
foreach (DayInfo item in forecast )
{
Transform tu = Instantiate<Transform>(itemPrefab);
//修改父容器
tu.SetParent(p);
//set日期
tu.Find ("date"). GetComponent <Text >().text =item .date ;
//圖片
foreach (Sprite itemS in sprites )
{
if(item.type==itemS .name)
{
tu.Find("sprite").GetComponent<Image>().sprite = itemS;
}
}
//set溫度
tu.Find("wendu").GetComponent<Text>().text = item.high + "\n" + item.low;
//set風向
tu.Find("fx").GetComponent<Text>().text = item.fx;
//set風力
tu.Find("fl").GetComponent<Text>().text = item.fl;
}
}
}
}
public class TQData
{
public string date;
public string message;
public int status;
public string city;
public int count;
public DataInfo data;
}
public class DataInfo
{
public string shidu;
public double pm25;
public double pm10;
public string quality;
public string wendu;
public string ganmao;
public DayInfo yesterday;
public DayInfo[] forecast;
}
/// <summary>
/// 每天信息
/// </summary>
public class DayInfo
{
public string date;
public string sunrise;
public string high;
public string low;
public string sunset;
public double aqi;
public string fx;
public string fl;
public string type;
public string notice;
}
Json 天氣預報 Demo
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.