2015-12-07 4 views
0

Формат ответа json.Forecast содержит ключи в формате даты:Десериализация коллекция дата объекта (с #)

forecast: {,…} 
2015-12-08: {nightTemperature: {min: "+2", max: "+4"}, dayTemperature: {min: "+2", max: "+4"}, phenomena: "Ясно",…} 
    dateTextDayOfWeek: "завтра" 
    dayOfMonth: "8" 
    dayTemperature: {min: "+2", max: "+4"} 
    falloutIcon: "A2" 
    humidityTitle: "75%" 
    nightTemperature: {min: "+2", max: "+4"} 
    phenomena: "Ясно" 
    pressureTitle: "776 мм рт. ст." 
    weekend: "" 
    wind: {direction: {title: "северо-западный", abbr: {rus: "СЗ", eng: "nw"}}, speed: [5, 7], gustsSpeed: 10,…} 
    windDirection: "NW" 
2015-12-09: {nightTemperature: {min: "0", max: "-2"}, dayTemperature: {min: "0", max: null},…} 
2015-12-10: {nightTemperature: {min: "0", max: "-2"}, dayTemperature: {min: "+2", max: "+4"},…} 
2015-12-11: {nightTemperature: {min: "0", max: "+2"}, dayTemperature: {min: "0", max: "+2"},…} 
2015-12-12: {nightTemperature: {min: "0", max: null}, dayTemperature: {min: "0", max: "+2"},…} 

Мои классы

public class Forecast 
{ 
    public Day day { get; set; } 
} 

public class Day 
{ 
    public string dateTextDayOfWeek { get; set; } 
    public string dayOfMonth { get; set; } 
    public DayTemperature dayTemperature { get; set; } 
    public string falloutIcon { get; set; } 
    public string humidityTitle { get; set; } 
    public NightTemperature nightTemperature { get; set; } 
    public string phenomena { get; set; } 
    public string pressureTitle { get; set; } 
    public string weekend { get; set; } 
    public Wind wind { get; set; } 
    public string windDirection { get; set; } 
} 

Как ввести класс Прогноз на успешно десериализовать объект коллекции?

ответ

0

Вы не можете Deserialaze этого Json, это недействительно. JSON коллекции дней должен выглядеть следующим образом:

days:[ 
    { dateTextDayOfWeek : "your date", 
    dayOfMonth : "your date", 
    dayTemperature :{...}, 
    falloutIcon : "" 
    .... 
    },{ dateTextDayOfWeek : "your date", 
    dayOfMonth : "your date", 
    dayTemperature :{...}, 
    falloutIcon : "" 
    .... 
    } 
] 

и так далее. Но я не вижу никакой коллекции в вашем образце. Ваш объект для трансляции должен выглядеть так:

forcast:{ 
     day:{ dateTextDayOfWeek : "your date", 
     dayOfMonth : "your date", 
     dayTemperature :{...}, 
     falloutIcon : "" 
     .... 
     } 
} 
+0

О, я не думал, что это будет так сложно. Спасибо за ответ, я переконвертирую json в правильной форме. – Romaxa

Смежные вопросы