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
最新推荐文章于 2024-08-02 18:27:48 发布