我生成一個http請求,通過json獲得結果。如果結果是一切正常,但如果沒有結果,它會嘗試將值顯示到文本塊中時崩潰。我嘗試這一點,但它不工作如何檢查json數據是否存在?
HttpClient client = new HttpClient();
string url = "http://api.worldweatheronline.com/free/v1/search.ashx?q=" + Location + "&format=json&key=xxxx";
string DatenURL = await client.GetStringAsync(url);
RootObject apiData = JsonConvert.DeserializeObject<RootObject>(DatenURL);
if (apiData.search_api.result[0] != null)
{
txt_Result1.Text = apiData.search_api.result[0].areaName[0].value.ToString();
}
這裏是JSON數據結構:
public class AreaName
{
public string value { get; set; }
}
public class Country
{
public string value { get; set; }
}
public class Region
{
public string value { get; set; }
}
public class WeatherUrl
{
public string value { get; set; }
}
public class Result
{
public List<AreaName> areaName { get; set; }
public List<Country> country { get; set; }
public string latitude { get; set; }
public string longitude { get; set; }
public string population { get; set; }
public List<Region> region { get; set; }
public List<WeatherUrl> weatherUrl { get; set; }
}
public class SearchApi
{
public List<Result> result { get; set; }
}
public class RootObject
{
public SearchApi search_api { get; set; }
}