Controller
{
namespace WebApplication10.Controllers
{
public class Default1Controller : ApiController
{
[ResponseType(typeof(WeatherItem))]
public WeatherItem Post(Wcall call)
{
string apikey = //MYAPIKEY;
string url = string.Format("http://api.openweathermap.org/data/2.5/forecast/daily?q={0}&units=metric&cnt=1&APPID={1}", call.city1, apikey);
WebClient A1 = new WebClient();
string dataweather = A1.DownloadString(url);
WeatherItem a2 = JsonConvert.DeserializeObject<WeatherItem>(dataweather);
string przyklad = a2.list.pressure;
return a2;
}
}
}
}
class
{
namespace WebApplication10.Models
{
public class WeatherItem
{
public List list { get; set; }
public string cod { get; set; }
public string message { get; set; }
public int cnt { get; set; }
//public List<City> city { get; set; }
}
public class List
{
public int dt { get; set; }
// public List<Temp> temp { get; set; }
public string pressure { get; set; }
public int humidity { get; set; }
// public List<Weather> weather { get; set; }
public string speed { get; set; }
public string deg { get; set; }
public string clauds { get; set; }
public int rain { get; set; }
}
public class Wcall
{
public string city1 { get; set; }
public string street { get; set; }
}
public class City
{
public int id { get; set; }
public string name { get; set; }
//public List<Coords> coords { get; set; }
public string country { get; set; }
public int population { get; set; }
}
public class Coords
{
public string lon { get; set; }
public string lat { get; set; }
}
public class Temp
{
public string day { get; set; }
public string min { get; set; }
public string max { get; set; }
public string night { get; set; }
public string eve { get; set; }
public string morn { get; set; }
}
public class Weather
{
public int id { get; set; }
public string main { get; set; }
public string description { get; set; }
public string icon { get; set; }
}
}
}
异常:类型为的异常中出现"Newtonsoft.Json.JsonSerializationException"Newtonsoft.Json.dll,但未在用户代码Additional中处理信息:无法反序列化当前JSON对象(例如。{"name":"value"}(。。。
对不起我的英语,有人知道我做错了什么吗?
在visualstudio中,有一个内置功能可以将json转换为C#模型。
您可以在EditPaste SpecialParse Json as classes
中找到它
关于您的问题,您的模型无效,请尝试此操作。
public class WeatherItem
{
public City city { get; set; }
public string cod { get; set; }
public float message { get; set; }
public int cnt { get; set; }
public List[] list { get; set; }
}
public class City
{
public int id { get; set; }
public string name { get; set; }
public Coord coord { get; set; }
public string country { get; set; }
public int population { get; set; }
}
public class Coord
{
public float lon { get; set; }
public float lat { get; set; }
}
public class List
{
public int dt { get; set; }
public Temp temp { get; set; }
public float pressure { get; set; }
public int humidity { get; set; }
public Weather[] weather { get; set; }
public float speed { get; set; }
public int deg { get; set; }
public int clouds { get; set; }
public float rain { get; set; }
}
public class Temp
{
public float day { get; set; }
public float min { get; set; }
public float max { get; set; }
public float night { get; set; }
public float eve { get; set; }
public float morn { get; set; }
}
public class Weather
{
public int id { get; set; }
public string main { get; set; }
public string description { get; set; }
public string icon { get; set; }
}