У меня есть приложение iOS, настроенное для загрузки и анализа JSON-канала. Он извлекает данные в порядке, но я борюсь за то, как читать определенные вложенные данные JSON в фиде.Доступ к данным канала JSON
Вот корм JSON Я пытаюсь нагрузки: http://api.wunderground.com/api/595007cb79ada1b1/conditions/forecast/q/51.5171,0.1062.json
Часть кормов JSON Я пытаюсь загрузить это:
"forecast":{
"txt_forecast": {
"date":"1:00 AM BST",
"forecastday": [
{
"period":0,
"icon":"chancerain",
"icon_url":"http://icons-ak.wxug.com/i/c/k/chancerain.gif",
"title":"Thursday",
"fcttext":"Clear with a chance of rain in the morning, then mostly cloudy with a chance of rain. High of 59F. Winds from the SSE at 5 to 10 mph. Chance of rain 60%.",
"fcttext_metric":"Clear with a chance of rain in the morning, then mostly cloudy with a chance of rain. High of 15C. Winds from the SSE at 5 to 15 km/h. Chance of rain 60%.",
"pop":"60"
}
Вы видите, что немного называется «периодом »: 0 и в периоде 0 есть« значок »,« название »и т. Д.
Ну, я пытаюсь получить доступ к этим данным, но не могу.
Вот мой код для доступа к определенной части вложенной подачи JSON:
NSError *myError = nil;
NSDictionary *res = [NSJSONSerialization JSONObjectWithData:responseData options:NSJSONReadingMutableLeaves error:&myError];
NSArray *results = [res objectForKey:@"current_observation"];
NSArray *cur = [results valueForKey:@"weather"];
NSArray *windrep = [results valueForKey:@"wind_string"];
NSArray *UVrep = [results valueForKey:@"UV"];
NSArray *othertemprep = [results valueForKey:@"temperature_string"];
NSString *loc = [[results valueForKey:@"display_location"] valueForKey:@"city"];
NSString *countcode = [[results valueForKey:@"display_location"] valueForKey:@"country"];
Как я могу изменить, что для доступа, что я хочу?
Вот моя вторая попытка:
NSString *test = [[[results valueForKey:@"forecast"] valueForKey:@"period:0"] valueForKey:@"title"];
Спасибо за вашу помощь, Дэн.
I не может видеть 'display_location' или' country' в вашем дампе JSON. Возможно, вы захотите вставить все соответствующие части. – DrummerB
@DrummerB Я обновил сообщение с полным кодом. – Supertecnoboff
Где это происходит? Поместите точку останова на первой строке и пройдите по ней шаг за шагом. – DrummerB